summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Optimize div/rem + select combinations more.Chris Lattner2004-12-121-24/+89
| | | | | | In particular, implement div.ll:test10 and rem.ll:test4. llvm-svn: 18838
* Add testcases for simple things we can handle that occur now in vortex.Chris Lattner2004-12-122-0/+12
| | | | llvm-svn: 18837
* Dejagnu doesn't work if you do TESTSUITE=.../Chris Lattner2004-12-121-1/+2
| | | | | | You can't pass the trailing / into Dejagnu, so make the makefile strip it off llvm-svn: 18836
* Fix Regression/CodeGen/PowerPC/2004-12-12-ZeroSizeCommon.ll, and all programsChris Lattner2004-12-121-0/+1
| | | | | | when compiled with debug information. llvm-svn: 18835
* New testcase that the PPC backend miscompiles. It is emittingChris Lattner2004-12-121-0/+3
| | | | | | | | .comm _X,0 For X, which makes the linker thing that X is never defined. llvm-svn: 18834
* CSE calls to getTypeSize.Chris Lattner2004-12-121-3/+2
| | | | llvm-svn: 18833
* Properly implement copying of a global, fixing the 255.vortex & povrayChris Lattner2004-12-121-2/+25
| | | | | | failures from last night. llvm-svn: 18832
* Simplify code and do not invalidate iterators.Chris Lattner2004-12-121-46/+9
| | | | | | | This fixes a crash compiling TimberWolfMC that was exposed due to recent optimizer changes. llvm-svn: 18831
* Use the target triple to pick this target.Chris Lattner2004-12-124-3/+23
| | | | llvm-svn: 18830
* Get rid of subbullets for all of the "known problems" section. None of theChris Lattner2004-12-121-11/+0
| | | | | | | other sections have subbullets, and it make the TOC look like the whole document is known problems! llvm-svn: 18829
* Complete the list of MultiSource failures.Brian Gaeke2004-12-121-5/+12
| | | | llvm-svn: 18826
* Do not internalize a module if -link-as-library is passed.Chris Lattner2004-12-121-2/+9
| | | | llvm-svn: 18825
* hbd should be working now.Brian Gaeke2004-12-121-1/+0
| | | | llvm-svn: 18824
* Finally enable the setcc-branch folding code.Brian Gaeke2004-12-121-17/+73
| | | | | | | Also, fix a bug where ubyte 255 would sometimes be output as -1. This was afflicting hbd. llvm-svn: 18823
* Add (currently disabled) code for canFoldSetCCBrian Gaeke2004-12-121-0/+10
| | | | llvm-svn: 18820
* Though the previous xform applies to literally dozens (hundreds?) of variablesChris Lattner2004-12-121-1/+2
| | | | | | | | | | | | | | | | | | | | 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
* Add stubs for setcc-branch folding support.Brian Gaeke2004-12-121-0/+11
| | | | llvm-svn: 18818
* If a variable can only hold two values, and is not already a bool, shrink itChris Lattner2004-12-121-22/+78
| | | | | | | | | | 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
* New testcase. Shrinking the variable to a bool allows instcombine to deleteChris Lattner2004-12-121-0/+22
| | | | | | the condition. llvm-svn: 18816
* If one side of and/or is known to be 0/-1, it doesn't matterChris Lattner2004-12-111-0/+37
| | | | | | | | if the other side is overdefined. This allows us to fold conditions like: if (X < Y || Y > Z) in some cases. llvm-svn: 18807
* New testcase. If one side of and/or is known to be 0/-1, it doesn't matterChris Lattner2004-12-111-0/+8
| | | | | | if the other side is overdefined. llvm-svn: 18806
* Print llvm code one function at a time.Brian Gaeke2004-12-111-1/+1
| | | | llvm-svn: 18805
* Check in the file I forgot last night, to solve all of the crashes in everyChris Lattner2004-12-111-0/+1
| | | | | | test in the suite. :( llvm-svn: 18804
* JIT should print LLVM each function before selecting instructions for it.Brian Gaeke2004-12-111-0/+4
| | | | llvm-svn: 18803
* Rename Path::get -> Path::toStringReid Spencer2004-12-114-12/+14
| | | | llvm-svn: 18802
* Update testChris Lattner2004-12-111-1/+1
| | | | llvm-svn: 18801
* Only cound if we actually made a change.Chris Lattner2004-12-111-3/+6
| | | | llvm-svn: 18800
* The split bb is really the exit of the old functionChris Lattner2004-12-111-2/+2
| | | | llvm-svn: 18799
* A little cleanup on this file.Reid Spencer2004-12-111-11/+9
| | | | llvm-svn: 18798
* New featureChris Lattner2004-12-111-1/+3
| | | | llvm-svn: 18797
* Two bug fixes:Chris Lattner2004-12-111-17/+27
| | | | | | | | | | | | | | | | | 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
* Do not delete the entry block to a function.Chris Lattner2004-12-111-1/+5
| | | | llvm-svn: 18795
* Bools are *also* not ints. Sigh. Furthermore, most of the TargetMachineBrian Gaeke2004-12-111-1/+6
| | | | | | | | | ctor parameters can be defaulted. Print the transformed llvm code input to the instruction selector when -print-machineinstrs is on, just like V9. llvm-svn: 18794
* Look for many more moves to fold (previously, we onlyBrian Gaeke2004-12-111-2/+24
| | | | | | | | | *or g0, x add g0, x recognized * as a move) or x, g0 add x, g0 or 0, x add 0, x or x, 0 add x, 0 llvm-svn: 18793
* Make GEPs not suck so much:Brian Gaeke2004-12-111-15/+67
| | | | | | | | | | | * Don't emit the Index * ElementSize multiply if Index is a constant. * Use a shift, not a multiply, if ElementSize is 1/2/4/8. * If ElementSize fits in the immediate field of SMUL, then put it there. Fix a bug where struct offsets might be truncated (ConstantSInt::get is now used instead of ConstantInt::get). llvm-svn: 18792
* Update lists of failing benchmarks, including info on whichBrian Gaeke2004-12-111-24/+21
| | | | | | ones are failing in cbe. llvm-svn: 18791
* Implement Transforms/SCCP/ipsccp-gvar.ll, by tracking values stored toChris Lattner2004-12-111-12/+85
| | | | | | non-address-taken global variables. llvm-svn: 18790
* New testcase that ipsccp should handle.Chris Lattner2004-12-111-0/+23
| | | | llvm-svn: 18789
* Fix some minor spellos and grammaros.Reid Spencer2004-12-111-14/+13
| | | | llvm-svn: 18788
* Revert the last patch. We really do need SimplyCFG.Reid Spencer2004-12-111-0/+3
| | | | llvm-svn: 18787
* Fix a bug where we could delete dead invoke instructions with uses.Chris Lattner2004-12-111-0/+26
| | | | | | | In functions where we fully constant prop the return value, replace all ret instructions with 'ret undef'. llvm-svn: 18786
* Path::get -> Path::toStringReid Spencer2004-12-1114-86/+96
| | | | llvm-svn: 18785
* Remove this pass as its no longer needed.Reid Spencer2004-12-101-3/+0
| | | | llvm-svn: 18783
* This pass is no longer needed.Chris Lattner2004-12-101-1/+0
| | | | llvm-svn: 18782
* Implement SCCP/ipsccp-conditional.ll, by totally deleting dead blocks.Chris Lattner2004-12-101-2/+29
| | | | llvm-svn: 18781
* New testcaseChris Lattner2004-12-101-0/+19
| | | | llvm-svn: 18780
* Get rid of warning from flex.Reid Spencer2004-12-101-1/+0
| | | | llvm-svn: 18779
* Fix SCCP/2004-12-10-UndefBranchBug.llChris Lattner2004-12-101-3/+51
| | | | llvm-svn: 18776
* Add missing accessor.Chris Lattner2004-12-101-0/+2
| | | | llvm-svn: 18775
* Make sure to link the target-triple as well, so it ends up in the .llvm.bc fileChris Lattner2004-12-101-1/+6
| | | | llvm-svn: 18774
OpenPOWER on IntegriCloud