llvm-project/llvm/lib
Saleem Abdulrasool 3a23917d48 ARM: improve instruction validation for thumb mode
The ARM Architecture Reference Manual states the following:
  LDM{,IA,DB}:
    The SP cannot be in the list.
    The PC can be in the list.
    If the PC is in the list:
      • the LR must not be in the list
      • the instruction must be either outside any IT block, or the last
        instruction in an IT block.
  POP:
    The PC can be in the list.
    If the PC is in the list:
      • the LR must not be in the list
      • the instruction must be either outside any IT block, or the last
        instruction in an IT block.
  PUSH:
    The SP and PC can be in the list in ARM instructions, but not in Thumb
    instructions.
  STM:{,IA,DB}:
    The SP and PC can be in the list in ARM instructions, but not in Thumb
    instructions.

llvm-svn: 224502
2014-12-18 05:24:38 +00:00
..
Analysis InstSimplify: shl nsw/nuw undef, %V -> undef 2014-12-17 01:54:33 +00:00
AsmParser IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
Bitcode Modernize the getStreamedBitcodeModule interface a bit. NFC. 2014-12-18 05:08:43 +00:00
CodeGen Add a new string member to the TargetOptions struct for the name 2014-12-18 02:20:58 +00:00
DebugInfo Silence more static analyzer warnings. 2014-12-15 18:48:43 +00:00
ExecutionEngine Fix line mapping information in LLVM JIT profiling with Vtune 2014-12-15 04:45:43 +00:00
IR IR: Handle self-referencing DICompositeTypes in DIBuilder 2014-12-18 00:46:16 +00:00
IRReader Remove unused variable. NFC. 2014-11-06 23:16:57 +00:00
LTO LTO: Lazy-load LTOModule in local contexts 2014-12-17 22:05:42 +00:00
LineEditor
Linker Reapply "Linker: Drop superseded subprograms" 2014-12-18 01:05:33 +00:00
MC Add a corresponding '@LOCAL' parse to match r224415. 2014-12-18 03:06:37 +00:00
Object Add printing the LC_LINKER_OPTION load command with llvm-objdump’s -private-headers. 2014-12-18 00:53:40 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData llvm-cov: Sink some reporting logic into CoverageMapping 2014-11-14 01:50:32 +00:00
Support Random Number Generator Refactoring (removing from Module) 2014-12-17 18:12:10 +00:00
TableGen Clean up static analyzer warnings. 2014-12-12 21:48:03 +00:00
Target ARM: improve instruction validation for thumb mode 2014-12-18 05:24:38 +00:00
Transforms [SROA] Cleanup - remove the use of std::mem_fun_ref nonsense and use 2014-12-18 05:19:47 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00