- Jan 08, 2005
-
-
Chris Lattner authored
llvm-svn: 19380
-
Chris Lattner authored
llvm-svn: 19379
-
Jeff Cohen authored
llvm-svn: 19370
-
- Jan 06, 2005
-
-
Jeff Cohen authored
llvm-svn: 19306
-
- 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
-
- 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
-
-
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
This fixes a crash compiling TimberWolfMC that was exposed due to recent optimizer changes. llvm-svn: 18831
-
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
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
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
-
- Dec 07, 2004
-
-
Reid Spencer authored
Add doInitialization method to avoid overloaded virtuals llvm-svn: 18602
-
- Dec 02, 2004
-
-
Chris Lattner authored
llvm-svn: 18439
-
- Nov 30, 2004
-
-
Chris Lattner authored
llvm-svn: 18387
-
- Nov 29, 2004
-
-
Chris Lattner authored
llvm-svn: 18363
-
- Nov 28, 2004
-
-
Reid Spencer authored
* Make sure we handle signed to unsigned conversion correctly * Move this visitSetCondInst case to its own method. llvm-svn: 18312
-
Chris Lattner authored
llvm-svn: 18309
-
- Nov 27, 2004
-
-
Chris Lattner authored
occurs many times in crafty llvm-svn: 18273
-
- Nov 26, 2004
-
-
Chris Lattner authored
allows us to hoist more loads in some cases. llvm-svn: 18265
-
- Nov 22, 2004
-
-
Chris Lattner authored
llvm-svn: 18110
-
Chris Lattner authored
Patch contributed by Michael McCracken! llvm-svn: 18108
-
- Nov 19, 2004
-
-
Chris Lattner authored
Morten Ofstad. llvm-svn: 17996
-