- Feb 18, 2006
-
-
Chris Lattner authored
llvm-svn: 26289
-
Jeff Cohen authored
llvm-svn: 26287
-
Chris Lattner authored
llvm-svn: 26285
-
Chris Lattner authored
Thanks to nate for pointing this out :) llvm-svn: 26280
-
Chris Lattner authored
llvm-svn: 26279
-
Chris Lattner authored
the right loop. llvm-svn: 26277
-
Chris Lattner authored
llvm-svn: 26275
-
- Feb 17, 2006
-
-
Chris Lattner authored
llvm-svn: 26258
-
Chris Lattner authored
risk :) llvm-svn: 26248
-
- Feb 16, 2006
-
-
Nate Begeman authored
and ComputeMaskedBits to match the new improved versions in instcombine. Tested against all of multisource/benchmarks on ppc. llvm-svn: 26238
-
Chris Lattner authored
Change SplitBlock to increment a BasicBlock::iterator, not an Instruction*. Apparently they do different things :) This fixes a testcase that nate reduced from spass. Also included are a couple minor code changes that don't affect the generated code at all. llvm-svn: 26235
-
Jeff Cohen authored
llvm-svn: 26228
-
Chris Lattner authored
llvm-svn: 26225
-
- Feb 15, 2006
-
-
Chris Lattner authored
unswitch this loop on 2 before sweating to unswitch on 1/3. void test4(int N, int i, int C, int*P, int*Q) { int j; for (j = 0; j < N; ++j) { switch (C) { // general unswitching. default: P[i+j] = 0; break; case 1: Q[i+j] = 0; break; case 3: P[i+j] = Q[i+j]; break; case 2: break; // TRIVIAL UNSWITCH on C==2 } } } llvm-svn: 26223
-
Chris Lattner authored
this for example: for (j = 0; j < N; ++j) { // trivial unswitch if (C) P[i+j] = 0; } turning it into the obvious code without bothering to duplicate an empty loop. llvm-svn: 26220
-
Andrew Lenharth authored
llvm-svn: 26218
-
Chris Lattner authored
Y = seteq bool X, true instead of just using X :) llvm-svn: 26215
-
Chris Lattner authored
llvm-svn: 26194
-
Chris Lattner authored
llvm-svn: 26191
-
Chris Lattner authored
can provide work for the outer loop to canonicalize. This fixes a case that breaks unswitching. llvm-svn: 26189
-
- Feb 14, 2006
-
-
Chris Lattner authored
block in the appropriate loop nest. Third time is the charm, right? llvm-svn: 26187
-
Chris Lattner authored
llvm-svn: 26157
-
Chris Lattner authored
llvm-svn: 26155
-
- Feb 13, 2006
-
-
Chris Lattner authored
for a sign extension. This fixes InstCombine/2006-02-13-DemandedMiscompile.ll and Ptrdist/bc. llvm-svn: 26152
-
Chris Lattner authored
of the input. This fixes the mediabench/gsm/toast failure last night. llvm-svn: 26138
-
- Feb 12, 2006
-
-
Chris Lattner authored
llvm-svn: 26135
-
Chris Lattner authored
llvm-svn: 26134
-
Chris Lattner authored
1. Teach GetConstantInType to handle boolean constants. 2. Teach instcombine to fold (compare X, CST) when X has known 0/1 bits. Testcase here: set.ll:test22 3. Improve the "(X >> c1) & C2 == 0" folding code to allow a noop cast between the shift and and. More aggressive bitfolding for other reasons was turning signed shr's into unsigned shr's, leaving the noop cast in the way. llvm-svn: 26131
-
Chris Lattner authored
llvm-svn: 26128
-
- Feb 11, 2006
-
-
Chris Lattner authored
llvm-svn: 26126
-
Chris Lattner authored
This allows us to simplify on conditions where bits are not known, but they are not demanded either! This also fixes a couple of bugs in ComputeMaskedBits that were exposed during this work. In the future, swaths of instcombine should be removed, as this code subsumes a bunch of ad-hockery. llvm-svn: 26122
-
Chris Lattner authored
llvm-svn: 26121
-
Chris Lattner authored
loops and their subloops. llvm-svn: 26118
-
Chris Lattner authored
llvm-svn: 26116
-
Chris Lattner authored
llvm-svn: 26114
-
Chris Lattner authored
llvm-svn: 26113
-
Chris Lattner authored
llvm-svn: 26112
-
- Feb 10, 2006
-
-
Chris Lattner authored
phi's in the successors llvm-svn: 26108
-
Chris Lattner authored
with branches on partially invariant computations. llvm-svn: 26104
-
Chris Lattner authored
llvm-svn: 26103
-