Owen Anderson
|
ae39ca037a
|
Cleanup some from my DomSet-removal changes. Add a new
isReachableFromEntry
test to ETForest to factor a common test out of code.
llvm-svn: 35786
|
2007-04-09 00:52:49 +00:00 |
|
Chris Lattner
|
aa8ad10c2f
|
Fix a typo that broke SimplifyLibCalls/SPrintF.ll (pr1315)
llvm-svn: 35768
|
2007-04-08 18:11:26 +00:00 |
|
Chris Lattner
|
c8d3788f71
|
reenable this xform, whoops :)
llvm-svn: 35765
|
2007-04-08 08:01:49 +00:00 |
|
Chris Lattner
|
7621a031d8
|
Fix regression on Instcombine/apint-or2.ll
llvm-svn: 35763
|
2007-04-08 07:55:22 +00:00 |
|
Chris Lattner
|
1150df9cc4
|
Generalize the code that handles (A&B)|(A&C) to work where B/C are not constants.
Add a new xform to simplify (A&B)|(~A&C). THis implements InstCombine/or2.ll:test1
llvm-svn: 35760
|
2007-04-08 07:47:01 +00:00 |
|
Chris Lattner
|
5717981e5d
|
implement a fixme: move optimizations for fwrite out of fputs into a new
fwrite optimizer.
llvm-svn: 35758
|
2007-04-08 07:00:35 +00:00 |
|
Nick Lewycky
|
e6c64466c7
|
Remove DominatorSet usage from LoopSimplify. Patch from Owen Anderson.
llvm-svn: 35757
|
2007-04-08 01:04:30 +00:00 |
|
Chris Lattner
|
182a945fb5
|
Significantly simplify the clients of GetConstantStringInfo, by having it
just return the string itself.
llvm-svn: 35755
|
2007-04-07 21:58:02 +00:00 |
|
Chris Lattner
|
08c0b8b3c8
|
Fix problems in the sprintf optimizer
llvm-svn: 35754
|
2007-04-07 21:17:51 +00:00 |
|
Chris Lattner
|
bed184cbcf
|
Change CastToCStr to take a pointer instead of a reference.
Fix some miscompilations in fprintf optimizer.
llvm-svn: 35753
|
2007-04-07 21:04:50 +00:00 |
|
Chris Lattner
|
898d698d9f
|
Fix an off-by-one error that broke Prolangs/deriv2 with llc on x86
and Prolangs-C/cdecl
llvm-svn: 35749
|
2007-04-07 20:19:08 +00:00 |
|
Owen Anderson
|
f7ebea1b9f
|
Add DomSet back, and revert the changes to LoopSimplify. Apparently the
ETForest updating mechanisms don't work as I thought they did. These changes
will be reapplied once the issue is worked out.
llvm-svn: 35741
|
2007-04-07 18:23:27 +00:00 |
|
Nick Lewycky
|
d4f51a8ae3
|
Add support for cast instructions.
llvm-svn: 35734
|
2007-04-07 15:48:32 +00:00 |
|
Owen Anderson
|
8763ba1b88
|
Completely purge DomSet. This is the (hopefully) final patch for PR1171.
llvm-svn: 35731
|
2007-04-07 07:17:27 +00:00 |
|
Owen Anderson
|
706e97049d
|
Completely purge DomSet from LoopSimplify. This is part of the
continuing work on PR1171.
llvm-svn: 35730
|
2007-04-07 06:56:47 +00:00 |
|
Owen Anderson
|
d03a646f06
|
BreakCriticalEdges does still preserve DominatorTree.
llvm-svn: 35729
|
2007-04-07 05:57:09 +00:00 |
|
Owen Anderson
|
b39d9ca902
|
Expunge DomSet from BreakCriticalEdges. This is part of the continuing
work for PR 1171.
llvm-svn: 35728
|
2007-04-07 05:49:29 +00:00 |
|
Owen Anderson
|
f095bf3ac4
|
Expunge DomSet from CodeExtractor. This is part of the continuing work
on PR1171.
llvm-svn: 35726
|
2007-04-07 05:31:27 +00:00 |
|
Nick Lewycky
|
93f541057b
|
Support NE inequality in ValueRanges.
llvm-svn: 35724
|
2007-04-07 04:49:12 +00:00 |
|
Owen Anderson
|
910419596e
|
Expunge a bunch of uses of DomSet from LoopSimplify. Many more remain.
This is the beginning of work for PR1171.
llvm-svn: 35720
|
2007-04-07 04:37:14 +00:00 |
|
Nick Lewycky
|
3bb6de85d1
|
Cleanup. Refactor out the applying of value ranges to its own method.
llvm-svn: 35719
|
2007-04-07 03:36:51 +00:00 |
|
Nick Lewycky
|
12d44abe0f
|
Use TargetData to find the size of a type.
llvm-svn: 35718
|
2007-04-07 03:16:12 +00:00 |
|
Nick Lewycky
|
eeb01b41ef
|
Strengthen icmp snuggling by doing 'compare-or-equal-to' to 'compare'
first and then range testing second.
llvm-svn: 35715
|
2007-04-07 02:30:14 +00:00 |
|
Devang Patel
|
f42389ffe5
|
Add loop rotation pass.
llvm-svn: 35714
|
2007-04-07 01:25:15 +00:00 |
|
Chris Lattner
|
0f1509511e
|
fix a miscompilation in printf optimizer.
llvm-svn: 35713
|
2007-04-07 01:18:36 +00:00 |
|
Chris Lattner
|
6a36d636e9
|
trunc to bool no longer compares against zero
llvm-svn: 35712
|
2007-04-07 01:03:46 +00:00 |
|
Chris Lattner
|
e8829aa9dd
|
cleanups for strlen optimizer
llvm-svn: 35711
|
2007-04-07 01:02:00 +00:00 |
|
Chris Lattner
|
485b6415b1
|
Introduce a new ReplaceCallWith method, which simplifies a lot of code.
llvm-svn: 35710
|
2007-04-07 00:42:32 +00:00 |
|
Chris Lattner
|
6a6c1f1c30
|
fixes for strcpy optimizer
llvm-svn: 35709
|
2007-04-07 00:26:18 +00:00 |
|
Chris Lattner
|
f9ee647e86
|
Fix bugs in strncmp.
llvm-svn: 35708
|
2007-04-07 00:06:57 +00:00 |
|
Chris Lattner
|
c9ccc30212
|
fix 3 miscompilations and several compielr crashes in strcmp optimizer.
llvm-svn: 35707
|
2007-04-07 00:01:51 +00:00 |
|
Chris Lattner
|
39f0bb9670
|
Fix several nasty bugs in the strchr optimizer, this fixes
SimplifyLibCalls/2007-04-06-strchr-miscompile.ll and PR1307
llvm-svn: 35706
|
2007-04-06 23:38:55 +00:00 |
|
Chris Lattner
|
56b7fc7768
|
clean up strcat optimizer, no functionality change.
llvm-svn: 35704
|
2007-04-06 22:59:33 +00:00 |
|
Chris Lattner
|
9b2b8abd20
|
rename getConstantStringLength -> GetConstantStringInfo. Make it return
the start index of the array as well as the length. No functionality change.
llvm-svn: 35703
|
2007-04-06 22:54:17 +00:00 |
|
Chris Lattner
|
3dbe65f80a
|
implement Transforms/InstCombine/malloc2.ll and PR1313
llvm-svn: 35700
|
2007-04-06 18:57:34 +00:00 |
|
Chris Lattner
|
1a9a760318
|
Fix Transforms/GlobalOpt/2007-04-05-Crash.ll
llvm-svn: 35689
|
2007-04-05 21:09:42 +00:00 |
|
Chris Lattner
|
108083edff
|
Use a worklist-driven algorithm instead of a recursive one.
llvm-svn: 35680
|
2007-04-05 01:27:02 +00:00 |
|
Dale Johannesen
|
7c2001d014
|
Prevent transformConstExprCastCall from generating conversions that assert
elsewhere.
llvm-svn: 35668
|
2007-04-04 19:16:42 +00:00 |
|
Jeff Cohen
|
5a1c750f31
|
Fix 2007-04-04-BadFoldBitcastIntoMalloc.ll
llvm-svn: 35665
|
2007-04-04 16:58:57 +00:00 |
|
Duncan Sands
|
f01a47c93c
|
Fix comment.
llvm-svn: 35655
|
2007-04-04 06:42:45 +00:00 |
|
Chris Lattner
|
e5bbb3cb1a
|
Fix a bug I introduced with my patch yesterday which broke Qt (I converted
some constant exprs to apints).
Thanks to Anton for tracking down a small testcase that triggered this!
llvm-svn: 35633
|
2007-04-03 23:29:39 +00:00 |
|
Chris Lattner
|
a74deafb13
|
reinstate the previous two patches, with a bugfix :)
ldecod now passes.
llvm-svn: 35626
|
2007-04-03 17:43:25 +00:00 |
|
Evan Cheng
|
7511fa280d
|
Reverting back to 1.723. The last two commits broke JM (and possibily others) on ARM.
llvm-svn: 35620
|
2007-04-03 08:11:50 +00:00 |
|
Chris Lattner
|
81e0707552
|
split some code out into a helper function
llvm-svn: 35615
|
2007-04-03 05:11:24 +00:00 |
|
Chris Lattner
|
64c764cebc
|
Split a whole ton of code out of visitICmpInst into visitICmpInstWithInstAndIntCst.
llvm-svn: 35614
|
2007-04-03 04:46:52 +00:00 |
|
Chris Lattner
|
8b2ec5f506
|
Fix PR1253 and xor2.ll:test[01]
llvm-svn: 35612
|
2007-04-03 01:47:41 +00:00 |
|
Chris Lattner
|
f3197a7d53
|
allow -1 strides to reuse "1" strides.
llvm-svn: 35607
|
2007-04-02 22:51:58 +00:00 |
|
Zhou Sheng
|
9bc8ab100d
|
1. Make use of APInt operation instead of using ConstantExpr::getXXX.
2. Use cheaper APInt methods.
llvm-svn: 35594
|
2007-04-02 13:45:30 +00:00 |
|
Zhou Sheng
|
56cda95658
|
Use uint32_t for bitwidth instead of unsigned.
llvm-svn: 35593
|
2007-04-02 08:20:41 +00:00 |
|
Chris Lattner
|
28e0e4e11e
|
Pass the type of the store access, not the type of the store, into the
target hook. This allows us to codegen a loop as:
LBB1_1: @cond_next
mov r2, #0
str r2, [r0, +r3, lsl #2]
add r3, r3, #1
cmn r3, #1
bne LBB1_1 @cond_next
instead of:
LBB1_1: @cond_next
mov r2, #0
str r2, [r0], #+4
add r3, r3, #1
cmn r3, #1
bne LBB1_1 @cond_next
This looks the same, but has one fewer induction variable (and therefore,
one fewer register) live in the loop.
llvm-svn: 35592
|
2007-04-02 06:34:44 +00:00 |
|