- Jan 08, 2005
-
-
Chris Lattner authored
llvm-svn: 19379
-
Jeff Cohen authored
llvm-svn: 19370
-
- Jan 07, 2005
-
-
Misha Brukman authored
llvm-svn: 19320
-
Jeff Cohen authored
llvm-svn: 19319
-
Jeff Cohen authored
llvm-svn: 19315
-
- Jan 06, 2005
-
-
Jeff Cohen authored
llvm-svn: 19306
-
Jeff Cohen authored
llvm-svn: 19305
-
- Jan 01, 2005
-
-
Chris Lattner authored
* We can now fold cast instructions into select instructions that have at least one constant operand. * We now optimize expressions more aggressively based on bits that are known to be zero. These optimizations occur a lot in code that uses bitfields even in simple ways. * We now turn more cast-cast sequences into AND instructions. Before we would only do this if it if all types were unsigned. Now only the middle type needs to be unsigned (guaranteeing a zero extend). * We transform sign extensions into zero extensions in several cases. This corresponds to these test/Regression/Transforms/InstCombine testcases: 2004-11-22-Missed-and-fold.ll and.ll: test28-29 cast.ll: test21-24 and-or-and.ll cast-cast-to-and.ll zeroext-and-reduce.ll llvm-svn: 19220
-
Chris Lattner authored
SimplifyCFG is one of those passes that we use for final cleanup: it should not rely on other passes to clean up its garbage. This fixes the "why are trivially dead setcc's in the output of gccas" problem. llvm-svn: 19212
-
- Dec 29, 2004
-
-
Chris Lattner authored
llvm-svn: 19180
-
- Dec 15, 2004
-
-
Chris Lattner authored
llvm-svn: 18958
-
- Dec 14, 2004
-
-
Chris Lattner authored
turning X - (constantexpr) into X + (-constantexpr) among other things. llvm-svn: 18935
-
- Dec 13, 2004
-
-
Brian Gaeke authored
llvm-svn: 18913
-
Chris Lattner authored
do not insert a prototype for malloc of: void* malloc(uint): on 64-bit u targets this is not correct. Instead of prototype it as void *malloc(...), and pass the correct intptr_t through the "...". Finally, fix Regression/CodeGen/SparcV9/2004-12-13-MallocCrash.ll, by not forming constantexpr casts from pointer to uint. llvm-svn: 18908
-
Chris Lattner authored
llvm-svn: 18843
-
Chris Lattner authored
in some cases. llvm-svn: 18842
-
- Dec 12, 2004
-
-
Chris Lattner authored
llvm-svn: 18841
-
Chris Lattner authored
llvm-svn: 18840
-
Chris Lattner authored
llvm-svn: 18839
-
Chris Lattner authored
In particular, implement div.ll:test10 and rem.ll:test4. llvm-svn: 18838
-
Chris Lattner authored
failures from last night. llvm-svn: 18832
-
Chris Lattner authored
This fixes a crash compiling TimberWolfMC that was exposed due to recent optimizer changes. llvm-svn: 18831
-
Chris Lattner authored
in SPEC, the subsequent optimziations that we are after don't play with with FP values, so disable this xform for them. Really we just don't want stuff like: double G; (always 0 or 412312.312) = G; turning into: bool G_b; = G_b ? 412312.312 : 0; We'd rather just do the load. -Chris llvm-svn: 18819
-
Chris Lattner authored
down to actually BE a bool. This allows simple value range propagation stuff work harder, deleting comparisons in bzip2 in some hot loops. This implements GlobalOpt/integer-bool.ll, which is the essence of the loop condition distilled into a testcase. llvm-svn: 18817
-
Chris Lattner authored
if the other side is overdefined. This allows us to fold conditions like: if (X < Y || Y > Z) in some cases. llvm-svn: 18807
-
- Dec 11, 2004
-
-
Chris Lattner authored
llvm-svn: 18800
-
Chris Lattner authored
llvm-svn: 18799
-
Chris Lattner authored
1. Actually increment the Statistic for the GV elim optzn 2. When resolving undef branches, only resolve branches in executable blocks, avoiding marking a bunch of completely dead blocks live. This has a big impact on the quality of the generated code. With this patch, we positively rip up vortex, compiling Ut_MoveBytes to a single memcpy call. In vortex we get this: 12 ipsccp - Number of globals found to be constant 986 ipsccp - Number of arguments constant propagated 1378 ipsccp - Number of basic blocks unreachable 8919 ipsccp - Number of instructions removed llvm-svn: 18796
-
Chris Lattner authored
llvm-svn: 18795
-
Chris Lattner authored
non-address-taken global variables. llvm-svn: 18790
-
Chris Lattner authored
In functions where we fully constant prop the return value, replace all ret instructions with 'ret undef'. llvm-svn: 18786
-
- Dec 10, 2004
-
-
Chris Lattner authored
llvm-svn: 18781
-
Chris Lattner authored
llvm-svn: 18776
-
Chris Lattner authored
and the failure on make_dparser last night. llvm-svn: 18766
-
Chris Lattner authored
This implements SCCP/ipsccp-basic.ll, rips apart Olden/mst (as described in PR415), and does other nice things. There is still more to come with this, but it's a start. llvm-svn: 18752
-
- Dec 09, 2004
-
-
Chris Lattner authored
llvm-svn: 18693
-
Chris Lattner authored
llvm-svn: 18692
-
Chris Lattner authored
successor block. This turns cases like this: x = a op b if (c) { use x } into: if (c) { x = a op b use x } This triggers 3965 times in spec, and is tested by Regression/Transforms/InstCombine/sink_instruction.ll This appears to expose a bug in the X86 backend for 177.mesa, which I'm looking in to. llvm-svn: 18677
-
Alkis Evlogimenos authored
llvm-svn: 18674
-
- Dec 08, 2004
-
-
Chris Lattner authored
llvm-svn: 18670
-