Chris Lattner
|
218d43af10
|
Fix PR1304 and Transforms/InstCombine/2007-04-08-SingleEltVectorCrash.ll
llvm-svn: 35792
|
2007-04-09 01:37:55 +00:00 |
|
Chris Lattner
|
b3d105a4f9
|
Eliminate useless insertelement instructions. This implements
Transforms/InstCombine/vec_insertelt.ll and fixes PR1286.
We now compile the code from that bug into:
_foo:
movl 4(%esp), %eax
movdqa (%eax), %xmm0
movl 8(%esp), %ecx
psllw (%ecx), %xmm0
movdqa %xmm0, (%eax)
ret
instead of:
_foo:
subl $4, %esp
movl %ebp, (%esp)
movl %esp, %ebp
movl 12(%ebp), %eax
movdqa (%eax), %xmm0
#IMPLICIT_DEF %eax
pinsrw $2, %eax, %xmm0
xorl %ecx, %ecx
pinsrw $3, %ecx, %xmm0
pinsrw $4, %eax, %xmm0
pinsrw $5, %ecx, %xmm0
pinsrw $6, %eax, %xmm0
pinsrw $7, %ecx, %xmm0
movl 8(%ebp), %eax
movdqa (%eax), %xmm1
psllw %xmm0, %xmm1
movdqa %xmm1, (%eax)
movl %ebp, %esp
popl %ebp
ret
woo :)
llvm-svn: 35788
|
2007-04-09 01:11:16 +00:00 |
|
Owen Anderson
|
f9a432a613
|
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
|
4ed32d0891
|
Fix a typo that broke SimplifyLibCalls/SPrintF.ll (pr1315)
llvm-svn: 35768
|
2007-04-08 18:11:26 +00:00 |
|
Chris Lattner
|
1a1b798eb5
|
reenable this xform, whoops :)
llvm-svn: 35765
|
2007-04-08 08:01:49 +00:00 |
|
Chris Lattner
|
1760b42378
|
Fix regression on Instcombine/apint-or2.ll
llvm-svn: 35763
|
2007-04-08 07:55:22 +00:00 |
|
Chris Lattner
|
d435e0bfd2
|
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
|
34464bdf2b
|
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
|
71592d1ef2
|
Remove DominatorSet usage from LoopSimplify. Patch from Owen Anderson.
llvm-svn: 35757
|
2007-04-08 01:04:30 +00:00 |
|
Chris Lattner
|
16fe035aa4
|
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
|
5b3be230d4
|
Fix problems in the sprintf optimizer
llvm-svn: 35754
|
2007-04-07 21:17:51 +00:00 |
|
Chris Lattner
|
99a7ea0b00
|
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
|
fcc6fe0a9c
|
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
|
7cf9d12f2e
|
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
|
e6cb3e2433
|
Add support for cast instructions.
llvm-svn: 35734
|
2007-04-07 15:48:32 +00:00 |
|
Owen Anderson
|
85b0e20f2a
|
Completely purge DomSet. This is the (hopefully) final patch for PR1171.
llvm-svn: 35731
|
2007-04-07 07:17:27 +00:00 |
|
Owen Anderson
|
177b1a6aea
|
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
|
e2add101a4
|
BreakCriticalEdges does still preserve DominatorTree.
llvm-svn: 35729
|
2007-04-07 05:57:09 +00:00 |
|
Owen Anderson
|
eb184ee17b
|
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
|
41bf50021d
|
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
|
3e77af40ff
|
Support NE inequality in ValueRanges.
llvm-svn: 35724
|
2007-04-07 04:49:12 +00:00 |
|
Owen Anderson
|
54c7efee4d
|
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
|
7fbec59fb4
|
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
|
80cf96b3f8
|
Use TargetData to find the size of a type.
llvm-svn: 35718
|
2007-04-07 03:16:12 +00:00 |
|
Nick Lewycky
|
3ddf638983
|
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
|
562df7f986
|
Add loop rotation pass.
llvm-svn: 35714
|
2007-04-07 01:25:15 +00:00 |
|
Chris Lattner
|
dbf5d6cf68
|
fix a miscompilation in printf optimizer.
llvm-svn: 35713
|
2007-04-07 01:18:36 +00:00 |
|
Chris Lattner
|
9aa0d009c1
|
trunc to bool no longer compares against zero
llvm-svn: 35712
|
2007-04-07 01:03:46 +00:00 |
|
Chris Lattner
|
312c204869
|
cleanups for strlen optimizer
llvm-svn: 35711
|
2007-04-07 01:02:00 +00:00 |
|
Chris Lattner
|
5f27ea3613
|
Introduce a new ReplaceCallWith method, which simplifies a lot of code.
llvm-svn: 35710
|
2007-04-07 00:42:32 +00:00 |
|
Chris Lattner
|
fba13c72ef
|
fixes for strcpy optimizer
llvm-svn: 35709
|
2007-04-07 00:26:18 +00:00 |
|
Chris Lattner
|
02ae7ab94f
|
Fix bugs in strncmp.
llvm-svn: 35708
|
2007-04-07 00:06:57 +00:00 |
|
Chris Lattner
|
d8a16e67ab
|
fix 3 miscompilations and several compielr crashes in strcmp optimizer.
llvm-svn: 35707
|
2007-04-07 00:01:51 +00:00 |
|
Chris Lattner
|
c61ff0afc0
|
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
|
bfad67243a
|
clean up strcat optimizer, no functionality change.
llvm-svn: 35704
|
2007-04-06 22:59:33 +00:00 |
|
Chris Lattner
|
d03767c332
|
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
|
03c84be56b
|
implement Transforms/InstCombine/malloc2.ll and PR1313
llvm-svn: 35700
|
2007-04-06 18:57:34 +00:00 |
|
Chris Lattner
|
19b9e90f9c
|
Fix Transforms/GlobalOpt/2007-04-05-Crash.ll
llvm-svn: 35689
|
2007-04-05 21:09:42 +00:00 |
|
Chris Lattner
|
997967979f
|
Use a worklist-driven algorithm instead of a recursive one.
llvm-svn: 35680
|
2007-04-05 01:27:02 +00:00 |
|
Dale Johannesen
|
fb15913194
|
Prevent transformConstExprCastCall from generating conversions that assert
elsewhere.
llvm-svn: 35668
|
2007-04-04 19:16:42 +00:00 |
|
Jeff Cohen
|
01d4afe6da
|
Fix 2007-04-04-BadFoldBitcastIntoMalloc.ll
llvm-svn: 35665
|
2007-04-04 16:58:57 +00:00 |
|
Duncan Sands
|
de998e6599
|
Fix comment.
llvm-svn: 35655
|
2007-04-04 06:42:45 +00:00 |
|
Chris Lattner
|
974e931689
|
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
|
bfe18d29f9
|
reinstate the previous two patches, with a bugfix :)
ldecod now passes.
llvm-svn: 35626
|
2007-04-03 17:43:25 +00:00 |
|
Evan Cheng
|
e30cfe8e9e
|
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
|
4302c8bcdb
|
split some code out into a helper function
llvm-svn: 35615
|
2007-04-03 05:11:24 +00:00 |
|
Chris Lattner
|
23d58bde29
|
Split a whole ton of code out of visitICmpInst into visitICmpInstWithInstAndIntCst.
llvm-svn: 35614
|
2007-04-03 04:46:52 +00:00 |
|
Chris Lattner
|
9b66a372c8
|
Fix PR1253 and xor2.ll:test[01]
llvm-svn: 35612
|
2007-04-03 01:47:41 +00:00 |
|
Chris Lattner
|
3df2382275
|
allow -1 strides to reuse "1" strides.
llvm-svn: 35607
|
2007-04-02 22:51:58 +00:00 |
|
Zhou Sheng
|
98c161c290
|
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 |
|