llvm-6502/lib
Bob Wilson f74a429816 Overhaul memory barriers in the ARM backend. Radar 8601999.
There were a number of issues to fix up here:
* The "device" argument of the llvm.memory.barrier intrinsic should be
used to distinguish the "Full System" domain from the "Inner Shareable"
domain.  It has nothing to do with using DMB vs. DSB instructions.
* The compiler should never need to emit DSB instructions.  Remove the
ARMISD::SYNCBARRIER node and also remove the instruction patterns for DSB.
* Merge the separate DMB/DSB instructions for options only used for the
disassembler with the default DMB/DSB instructions.  Add the default
"full system" option ARM_MB::SY to the ARM_MB::MemBOpt enum.
* Add a separate ARMISD::MEMBARRIER_MCR node for subtargets that implement
a data memory barrier using the MCR instruction.
* Fix up encodings for these instructions (except MCR).
I also updated the tests and added a few new ones to check for DMB options
that were not currently being exercised.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117756 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-30 00:54:37 +00:00
..
Analysis Make ScalarEvolution::forgetLoop forget all contained loops too, because 2010-10-29 20:16:10 +00:00
Archive Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." 2010-09-13 23:59:48 +00:00
AsmParser Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op 2010-10-25 15:37:09 +00:00
Bitcode Fix PR8494: when reading invalid bitcode, getTypeByID may return 2010-10-28 15:47:26 +00:00
CodeGen Teach machine cse to eliminate instructions with multiple physreg uses and defs. rdar://8610857. 2010-10-29 23:36:03 +00:00
CompilerDriver llvmc: Make ExecuteProgram() look in the driver directory first. 2010-10-28 19:33:08 +00:00
ExecutionEngine Move the remaining attribute macros to systematic names based on the attribute 2010-10-23 08:40:19 +00:00
Linker Fix PR8300 by remembering to keep the bitcast in all cases. 2010-10-19 02:02:57 +00:00
MC Be more strict on when we produce an undefined reference. In gas a file with 2010-10-29 23:09:31 +00:00
Support Fix these error messages to be less confusing. These error 2010-10-29 17:03:40 +00:00
System Check if ErrMsg is null. This fixes the "not" command. 2010-10-29 17:20:42 +00:00
Target Overhaul memory barriers in the ARM backend. Radar 8601999. 2010-10-30 00:54:37 +00:00
Transforms Clean up indentation and other whitespace. 2010-10-29 22:20:45 +00:00
VMCore Inline asm multiple alternative constraints development phase 2 - improved basic logic, added initial platform support. 2010-10-29 17:29:13 +00:00
Makefile