summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix use after free in Thumb2SizeReduction (PR4707). A MachineInstr was used ↵Benjamin Kramer2009-08-161-1/+4
| | | | | | after erasure. llvm-svn: 79189
* Turn on if-conversion for thumb2.Evan Cheng2009-08-151-6/+14
| | | | llvm-svn: 79084
* Shrink ADR and LDR from constantpool late during constantpool island pass.Evan Cheng2009-08-141-0/+2
| | | | llvm-svn: 78970
* PredCC is meant to be 2 bits wide, like PredCC1.Evan Cheng2009-08-121-1/+1
| | | | llvm-svn: 78829
* Shrink Thumb2 movcc instructions.Evan Cheng2009-08-121-1/+2
| | | | llvm-svn: 78790
* Shrink ADDS, ADC, RSB, and SUBS.Evan Cheng2009-08-121-29/+103
| | | | llvm-svn: 78776
* Shrinkify Thumb2 r = add sp, imm.Evan Cheng2009-08-111-7/+18
| | | | llvm-svn: 78745
* Shrinkify Thumb2 load / store multiple instructions.Evan Cheng2009-08-111-34/+84
| | | | llvm-svn: 78717
* Fix the previous accidental commit. Now shrinking common Thumb2 load / store ↵Evan Cheng2009-08-111-2/+4
| | | | | | instructions. llvm-svn: 78659
* Fix Thumb2 load / store addressing mode matching code. Do not use so_reg form toEvan Cheng2009-08-111-2/+140
| | | | | | | | | | match base only address, i.e. [r] since Thumb2 requires a offset register field. For those, use [r + imm12] where the immediate is zero. Note the generated assembly code does not look any different after the patch. But the bug would have broken the JIT (if there is Thumb2 support) and it can break later passes which expect the address mode to be well-formed. llvm-svn: 78658
* Watch out for empty BB.Evan Cheng2009-08-101-1/+1
| | | | llvm-svn: 78562
* rev, rev16, and revsh do not set CPSR.Evan Cheng2009-08-101-3/+3
| | | | llvm-svn: 78561
* Duh. Most 16-bit Thumb rr instructions are two-address. Fix table.Evan Cheng2009-08-101-9/+15
| | | | llvm-svn: 78560
* CPSR can be livein; transfer predicate operands correctly; tMUL is two-address.Evan Cheng2009-08-101-19/+57
| | | | llvm-svn: 78559
* Add support to reduce most of 32-bit Thumb2 arithmetic instructions.Evan Cheng2009-08-101-69/+147
| | | | llvm-svn: 78550
* Add support to convert 32-bit instructions to 16-bit non-two-address ones.Evan Cheng2009-08-091-35/+96
| | | | llvm-svn: 78540
* Add a skeleton Thumb2 instruction size reduction pass.Evan Cheng2009-08-081-0/+213
llvm-svn: 78456
OpenPOWER on IntegriCloud