llvm-6502/lib
Tim Northover 4e399f4500 ARM: rework Thumb1 frame index rewriting
The previous code had a few problems, motivating the choices here.

1. It could create instructions clobbering CPSR, but the incoming MachineInstr
   didn't reflect this. A potential source of corruption. This is why the patch
   has a new PseudoInst for before lowering.
2. Similarly, there was some code to handle the incoming instruction not being
   ARMCC::AL, but this would have caused massive problems if it was actually
   invoked when a complex offset needing more than one instruction was requested.
3. It wasn't designed to handle unaligned pointers (or offsets). These should
   probably be minimised anyway, but the code needs to deal with them properly
   regardless.
4. It had some rather dubious ad-hoc code to avoid calling
   emitThumbRegPlusImmediate, a function which should be designed to do precisely
   this job.

We seem to cover the common cases correctly now, and hopefully can enhance
emitThumbRegPlusImmediate to handle any extra optimisations we need to add in
future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220236 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-20 21:28:41 +00:00
..
Analysis Fix a miscompile introduced in r220178. 2014-10-20 10:03:01 +00:00
AsmParser Make CallingConv::ID an alias of "unsigned". 2014-09-10 18:00:17 +00:00
Bitcode correct const-ness with auto and dyn_cast 2014-10-15 17:45:13 +00:00
CodeGen [PBQP] Replace the interference-constraints algorithm with a faster version 2014-10-18 17:26:07 +00:00
DebugInfo Constify input argument of RelocVisitor and DWARFContext constructors. NFC. 2014-10-20 20:28:51 +00:00
ExecutionEngine IR: Replace DataLayout::RoundUpAlignment with RoundUpToAlignment 2014-10-20 06:13:33 +00:00
IR Moved out IIT_V64 from common values section. 2014-10-20 19:25:05 +00:00
IRReader
LineEditor
Linker
LTO LTO: Document the Boolean argument from r218784 2014-10-02 21:11:04 +00:00
MC Add back commits r219835 and a fixed version of r219829. 2014-10-17 01:48:58 +00:00
Object Be more specific about return type of MachOUniversalBinary::getObjectForArch 2014-10-20 20:30:57 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData Reduce double set lookups. NFC. 2014-10-10 15:32:50 +00:00
Support Introduce LLVMParseCommandLineOptions C API function. 2014-10-16 22:47:52 +00:00
TableGen Eliminate some deep std::vector copies. NFC. 2014-10-03 18:33:16 +00:00
Target ARM: rework Thumb1 frame index rewriting 2014-10-20 21:28:41 +00:00
Transforms IR: Replace DataLayout::RoundUpAlignment with RoundUpToAlignment 2014-10-20 06:13:33 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile