llvm-6502/lib
Hal Finkel 31f6bdbbbe [PowerPC] Implement BuildSDIVPow2, lower i64 pow2 sdiv using sradi
PPCISelDAGToDAG contained existing code to lower i32 sdiv by a power-of-2 using
srawi/addze, but did not implement the i64 case. DAGCombine now contains a
callback specifically designed for this purpose (BuildSDIVPow2), and part of
the logic has been moved to an implementation of that callback. Doing this
lowering using BuildSDIVPow2 likely does not matter, compared to handling
everything in PPCISelDAGToDAG, for the positive divisor case, but the negative
divisor case, which generates an additional negation, can potentially benefit
from additional folding from DAGCombine. Now, both the i32 and the i64 cases
have been implemented.

Fixes PR20732.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224033 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-11 18:37:52 +00:00
..
Analysis Fix PR21694. r219517 added a use of SCEV divide in HowFarToZero computation. This divide can produce incorrect results as we are using an unsigned divide for what should be a modular divide. This change reverts back to a more conservative computation using trailing zeros. 2014-12-10 22:53:52 +00:00
AsmParser AsmParser: Don't allow null bytes in BB labels 2014-12-10 02:10:35 +00:00
Bitcode IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
CodeGen Bugfix in InlineSpiller::traceSiblingValue(). 2014-12-11 10:40:17 +00:00
DebugInfo Make DWARFAcceleratorTable::dump() const. 2014-11-20 16:21:11 +00:00
ExecutionEngine Move three methods only used by MCJIT to MCJIT. 2014-12-10 20:46:55 +00:00
IR Fix LLVMContext to match what MDKind names that the LL parser permits. Fixes PR21799! 2014-12-11 02:10:28 +00:00
IRReader Remove unused variable. NFC. 2014-11-06 23:16:57 +00:00
LineEditor
Linker IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
LTO IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
MC clang-formatted ranged loops and assignment, NFC. 2014-12-04 08:30:39 +00:00
Object Move three methods only used by MCJIT to MCJIT. 2014-12-10 20:46:55 +00:00
Option
ProfileData llvm-cov: Sink some reporting logic into CoverageMapping 2014-11-14 01:50:32 +00:00
Support Remove dead code. NFC. 2014-12-11 17:17:26 +00:00
TableGen Use range-based for loops. NFC 2014-12-11 07:04:54 +00:00
Target [PowerPC] Implement BuildSDIVPow2, lower i64 pow2 sdiv using sradi 2014-12-11 18:37:52 +00:00
Transforms The inliner needs to fix up debug information for llvm.dbg.declare, not only for llvm.dbg.value. 2014-12-11 12:41:10 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile