llvm-6502/test
Saleem Abdulrasool 3e5734dc38 ARM: correct isPredicable for MULS in ThHUMB mode
The ARM ARM states that CPSR may not be updated by a MUL in thumb mode.  Due to
an ordering of Thumb 2 Size Reduction and If Conversion, we would end up
generating a THUMB MULS inside an IT block.

The If Conversion pass uses the TTI isPredicable method to ensure that it can
transform a Basic Block.  However, because we only check for IT handling on
Thumb2 functions, we may miss some cases.  Even then, it only validates that the
CPSR is not *live* rather than it is not accessed.  This corrects the handling
for that particular case since the same restriction does not hold on the vast
majority of the instructions.

This does prevent the IfConversion optimization from kicking in in certain
cases, but generating correct code is more valuable.  Addresses PR20555.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215328 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-10 22:20:37 +00:00
..
Analysis
Assembler
Bindings
Bitcode
BugPoint
CodeGen ARM: correct isPredicable for MULS in ThHUMB mode 2014-08-10 22:20:37 +00:00
DebugInfo Fix llvm/test/DebugInfo/X86/recursive_inlining.ll to use %llc_dwarf. 2014-08-08 02:24:05 +00:00
ExecutionEngine Add missing Interpreter intrinsic lowering for sin, cos and ceil 2014-08-08 15:00:12 +00:00
Feature
FileCheck FileCheck: Add a flag to allow checking empty input 2014-08-07 18:40:37 +00:00
Instrumentation
Integer
JitListener
Linker
LTO
MC @l and friends adjust their value depending the context used in. 2014-08-10 12:41:50 +00:00
Object pr20589: Fix duplicated arch flag. 2014-08-08 16:18:29 +00:00
Other
TableGen
tools Fix test failure on ARM. 2014-08-07 20:33:06 +00:00
Transforms [LoopVectorizer] Enable support for floating-point subtraction reductions 2014-08-08 12:41:08 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Temporarily Revert "Nuke the old JIT." as it's not quite ready to 2014-08-07 22:02:54 +00:00
lit.site.cfg.in Add missing Interpreter intrinsic lowering for sin, cos and ceil 2014-08-08 15:00:12 +00:00
Makefile
Makefile.tests
TestRunner.sh