Commit d9b47c3
Backport fixes to LLVM 4.0 ARM codegen bugs
So ARM had quite a few codegen bugs on LLVM 4.0 which are fixed on LLVM
trunk. This backports 5 of them:
r297871 - ARM: avoid clobbering register in v6 jump-table expansion.
- fixes rust-lang#42248
r294949 - [Thumb-1] TBB generation: spot redefinitions of index
r295816 - [ARM] Fix constant islands pass.
r300870 - [Thumb-1] Fix corner cases for compressed jump tables
r302650 - [IfConversion] Add missing check in
IfConversion/canFallThroughTo
- unblocks rust-lang#394091 parent d687176 commit d9b47c3
2 files changed
+2
-2
lines changed- include/llvm/Analysis/TargetLibraryInfo.def+16
- include/llvm/CodeGen/MIRYamlMapping.h+2
- lib/Analysis/MemoryBuiltins.cpp+6-1
- lib/CodeGen/IfConversion.cpp+2-1
- lib/CodeGen/MIRParser/MIRParser.cpp+2
- lib/CodeGen/MIRPrinter.cpp+2
- lib/CodeGen/SelectionDAG/LegalizeDAG.cpp+2-2
- lib/CodeGen/StackColoring.cpp+177-62
- lib/Target/ARM/ARMConstantIslandPass.cpp+43-5
- test/CodeGen/ARM/v6-jumptable-clobber.mir+384
- test/CodeGen/ARM/v6m-smul-with-overflow.ll+16
- test/CodeGen/MIR/ARM/ifcvt_canFallThroughTo.mir+64
- test/CodeGen/Thumb/remove-unneeded-push-pop.ll+1.1k
- test/CodeGen/Thumb/tbb-reuse.mir+151
- test/CodeGen/X86/GlobalISel/irtranslator-call.ll+1
- test/CodeGen/X86/StackColoring.ll+64
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
0 commit comments