llvm-project/llvm/lib
Akira Hatanaka 442b40c2eb [ARM] Fix a bug in constant island pass that was triggering an assertion.
The assert was being triggered when the distance between a constant pool entry
and its user exceeded the maximally allowed distance after thumb2 branch
shortening. A padding was inserted after a thumb2 branch instruction was shrunk,
which caused the user to be out of range. This is wrong as the padding should
have been inserted by the layout algorithm so that the distance between two
instructions doesn't grow later during thumb2 instruction optimization.

This commit fixes the code in ARMConstantIslands::createNewWater to call
computeBlockSize and set BasicBlock::Unalign when a branch instruction is
inserted to create new water after a basic block. A non-zero Unalign causes
the worst-case padding to be inserted when adjustBBOffsetsAfter is called to
recompute the basic block offsets.

rdar://problem/19130476

llvm-svn: 225467
2015-01-08 20:44:50 +00:00
..
Analysis Remove empty statement. No functionality change. 2015-01-08 00:47:03 +00:00
AsmParser Change the .ll syntax for comdats and add a syntactic sugar. 2015-01-06 22:55:16 +00:00
Bitcode clang-format. NFC. 2015-01-08 16:25:01 +00:00
CodeGen CodeGen: Use range-based for loops, NFC 2015-01-08 20:44:33 +00:00
DebugInfo Implement a very basic colored syntax highlighting for llvm-dwarfdump. 2015-01-06 16:50:25 +00:00
ExecutionEngine RTDyldMemoryManager.cpp: Make the reference to __morestack weak. 2014-12-30 22:52:33 +00:00
IR [GC] improve testing around gc.relocate and fix a test 2015-01-07 22:48:01 +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 Linker: Don't use MDNode::replaceOperandWith() 2015-01-07 21:32:27 +00:00
MC Revert r224935 "Refactor duplicated code. No intended functionality change." 2015-01-06 23:04:36 +00:00
Object Don't loop endlessly for MachO files with 0 ncmds 2015-01-06 17:08:26 +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 Triple: Add amdgcn triple 2015-01-06 18:00:00 +00:00
TableGen Clean up static analyzer warnings. 2014-12-12 21:48:03 +00:00
Target [ARM] Fix a bug in constant island pass that was triggering an assertion. 2015-01-08 20:44:50 +00:00
Transforms Fix fcmp + fabs instcombines when using the intrinsic 2015-01-08 20:09:34 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile