1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
Commit Graph

30 Commits

Author SHA1 Message Date
Dan Gohman
e4a22bdd4a Use do+while instead of while for loops which obviously have a
non-zero trip count. Use SmallVector's pop_back_val().

llvm-svn: 92734
2010-01-05 16:27:25 +00:00
Chris Lattner
09b91ecf3c prune some #includes.
llvm-svn: 92712
2010-01-05 07:54:43 +00:00
Chris Lattner
58ddbda58c split and/or/xor out into one overly-large (2000LOC) file. However, I think
it does make sense to keep them together, at least for now.

llvm-svn: 92711
2010-01-05 07:50:36 +00:00
Chris Lattner
7201f09ff2 missed file with previous commit.
llvm-svn: 92710
2010-01-05 07:45:02 +00:00
Chris Lattner
e75f48f8bd eliminate getBitCastOperand and simplify some over-complex inbounds stuff.
llvm-svn: 92708
2010-01-05 07:42:10 +00:00
Chris Lattner
e21194fe22 split call handling out to InstCombineCalls.cpp
llvm-svn: 92707
2010-01-05 07:32:13 +00:00
Chris Lattner
491e03b6ef optimize cttz and ctlz when we can prove something about the
leading/trailing bits.  Patch by Alastair Lynn!

llvm-svn: 92706
2010-01-05 07:23:56 +00:00
Chris Lattner
e36e3b586d this inline function moved to addsub
llvm-svn: 92705
2010-01-05 07:20:54 +00:00
Chris Lattner
63747a10a8 split add/sub out to its own file. Eliminate use of
dyn_castNotVal in the X+~X transform.  dyn_castNotVal is
dramatic overkill for what the xform needed.

llvm-svn: 92704
2010-01-05 07:18:46 +00:00
Chris Lattner
5ea00f56bd all the places we use hasOneUse() we know are instructions, so inline
and simplify.

llvm-svn: 92700
2010-01-05 07:04:23 +00:00
Chris Lattner
081decf118 eliminate AssociativeOpt and its last uses.
llvm-svn: 92697
2010-01-05 07:01:16 +00:00
Chris Lattner
4d773ac576 inline the FoldICmpLogical functor.
llvm-svn: 92695
2010-01-05 06:59:49 +00:00
Chris Lattner
1e57d0e7e3 inline the 'AddRHS' transformation, simplifying things significantly.
Eliminate the 'AddMaskingAnd' transformation, it is redundant with this
more general code right below it:
  // A+B --> A|B iff A and B have no bits set in common.

llvm-svn: 92693
2010-01-05 06:29:13 +00:00
Chris Lattner
17a2db8444 remove massive over-genality manifested as a big template
that got instantiated.  There is no reason for instcombine
to try this hard for simple associative optimizations.  Next
up, eliminate the template completely.

llvm-svn: 92692
2010-01-05 06:24:06 +00:00
Chris Lattner
92f9d59ad1 split mul/div/rem instructions out to their own file.
llvm-svn: 92689
2010-01-05 06:09:35 +00:00
Chris Lattner
e4910dc145 split select out to its own file.
llvm-svn: 92687
2010-01-05 06:03:12 +00:00
Chris Lattner
b55724e825 split out load/store/alloca.
llvm-svn: 92685
2010-01-05 05:57:49 +00:00
Chris Lattner
e22030e730 split vector stuff out to InstCombineVectorOps.cpp
llvm-svn: 92683
2010-01-05 05:36:20 +00:00
Chris Lattner
23ff3ce8eb split PHI node stuff out to InstCombinePHI.cpp
llvm-svn: 92682
2010-01-05 05:31:55 +00:00
Devang Patel
3b08c33f33 Remove dead debug info intrinsics.
Intrinsic::dbg_stoppoint
 Intrinsic::dbg_region_start 
 Intrinsic::dbg_region_end 
 Intrinsic::dbg_func_start
AutoUpgrade simply ignores these intrinsics now.

llvm-svn: 92557
2010-01-05 01:10:40 +00:00
Chris Lattner
8304a93ff4 silence a bogus 'might be used uninit' warning from GCC.
llvm-svn: 92494
2010-01-04 18:48:26 +00:00
Chris Lattner
e19878577c move some more cast-related stuff
llvm-svn: 92471
2010-01-04 07:59:07 +00:00
Chris Lattner
f9920fbac9 move the [Can]EvaluateInDifferentType functions out to InstCombineCasts.cpp
llvm-svn: 92469
2010-01-04 07:54:59 +00:00
Chris Lattner
7a5037baf5 split 943 lines of instcombine out to a new InstCombineCasts.cpp
file.  InstructionCombining.cpp is now down to a svelte 9300 lines :)

llvm-svn: 92468
2010-01-04 07:53:58 +00:00
Chris Lattner
fed736376e split instcombine of compares (visit[FI]Cmp) out to
a new InstCombineCompares.cpp file.

llvm-svn: 92467
2010-01-04 07:37:31 +00:00
Chris Lattner
fbcc4eb5a5 move the 'SimplifyDemandedFoo' methods out to their own file, cutting 1K lines out of instcombine.cpp
llvm-svn: 92465
2010-01-04 07:17:19 +00:00
Chris Lattner
cf0889fda3 split the instcombine class definition out to a header shared
among the instcombine library.

llvm-svn: 92463
2010-01-04 07:12:23 +00:00
Chris Lattner
cb0fe8a20b remove a ton of unneeded LLVMContext stuff.
llvm-svn: 92462
2010-01-04 07:02:48 +00:00
Chris Lattner
ec9a1ab1bb move InstCombineWorklist out to its own header.
llvm-svn: 92461
2010-01-04 06:30:00 +00:00
Chris Lattner
2d9948f5f1 move instcombine to its own library, it's past time.
llvm-svn: 92459
2010-01-04 06:23:24 +00:00