aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/DAGISelEmitter.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-09-10 01:18:45 +0000
committerChris Lattner <sabre@nondot.org>2005-09-10 01:18:45 +0000
commit7259df3ab862d378427cf96cd69d1bc69aa2e5cb (patch)
tree70af6869845571b4d8b5ff2d8c1453d9a9257b66 /utils/TableGen/DAGISelEmitter.h
parentbe040812401b48ee2cb6886e5ffef448c38cf375 (diff)
downloadexternal_llvm-7259df3ab862d378427cf96cd69d1bc69aa2e5cb.zip
external_llvm-7259df3ab862d378427cf96cd69d1bc69aa2e5cb.tar.gz
external_llvm-7259df3ab862d378427cf96cd69d1bc69aa2e5cb.tar.bz2
implement Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll.
We used to emit this code for it: _test: li r2, 1 ;; Value tying up a register for the whole loop li r5, 0 LBB_test_1: ; no_exit.2 or r6, r5, r5 li r5, 0 stw r5, 0(r3) addi r5, r6, 1 addi r3, r3, 4 add r7, r2, r5 ;; should be addi r7, r5, 1 cmpwi cr0, r7, 701 blt cr0, LBB_test_1 ; no_exit.2 LBB_test_2: ; loopexit.2.loopexit addi r2, r6, 2 stw r2, 0(r4) blr now we emit this: _test: li r2, 0 LBB_test_1: ; no_exit.2 or r5, r2, r2 li r2, 0 stw r2, 0(r3) addi r3, r3, 4 addi r2, r5, 1 addi r6, r5, 2 ;; whoa, fold those adds! cmpwi cr0, r6, 701 blt cr0, LBB_test_1 ; no_exit.2 LBB_test_2: ; loopexit.2.loopexit addi r2, r5, 2 stw r2, 0(r4) blr more improvement coming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23306 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelEmitter.h')
0 files changed, 0 insertions, 0 deletions