aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Move some documentation from the header file into ProgrammersManual. About ↵Gabor Greif2008-06-162-169/+183
| | | | | | to improve. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52360 91177308-0d34-0410-b5e6-96231b3b80d8
* use a real associative container for type association instead of usingChris Lattner2008-06-161-8/+94
| | | | | | | | a vector with a linear search. This speeds up the linking testcase in PR1860 from 0.965s to 0.385s on my system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52357 91177308-0d34-0410-b5e6-96231b3b80d8
* - Add "Commutative" property to intrinsics. This allows tblgen to generate ↵Evan Cheng2008-06-167-92/+189
| | | | | | | | | the commuted variants for dagisel matching code. - Mark lots of X86 intrinsics as "Commutative" to allow load folding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52353 91177308-0d34-0410-b5e6-96231b3b80d8
* mpsadbw is commutable.Evan Cheng2008-06-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52352 91177308-0d34-0410-b5e6-96231b3b80d8
* bail out sooner if we have two concrete but different types.Chris Lattner2008-06-161-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52351 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify some code.Chris Lattner2008-06-161-24/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52350 91177308-0d34-0410-b5e6-96231b3b80d8
* Apply a patch from Nathan Keynes, which speeds up llvm-link onChris Lattner2008-06-161-1/+0
| | | | | | | | the testcases in PR1860 from taking more than 1 hour (when I killed it) to taking 1s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52347 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove special case handling of empty MBBs now that we assign indices to them.Owen Anderson2008-06-161-8/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52345 91177308-0d34-0410-b5e6-96231b3b80d8
* handle vectors. Any integers that got here would necessarily be different ↵Chris Lattner2008-06-161-8/+11
| | | | | | already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52341 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify ResolveTypes by pulling the null case out into the one Chris Lattner2008-06-161-42/+30
| | | | | | | | | | | client that cares and simplifying its control flow. Remove the DestST argument to ResolveTypes and RecursiveResolveTypes* which are dead now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52340 91177308-0d34-0410-b5e6-96231b3b80d8
* Iterating over SmallPtrSet is not deterministic.Evan Cheng2008-06-161-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52339 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify RecursiveResolveTypes and ResolveTypes by pulling the naming out ofChris Lattner2008-06-161-23/+20
| | | | | | | ResolveTypes into the one place that needs it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52338 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new flag that disables symbol lookup with dlsym when set. This allowsChris Lattner2008-06-162-36/+48
| | | | | | | | a JIT client to completely control symbol lookup with the LazyFunctionCreator interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52335 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for icache invalidation on non-darwin ppc systems.Chris Lattner2008-06-161-2/+19
| | | | | | | Patch by Gary Benson! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52332 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enable empty block indexing by default, since it doesn't seem to have anyOwen Anderson2008-06-161-21/+9
| | | | | | | impact on code quality or compile time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52329 91177308-0d34-0410-b5e6-96231b3b80d8
* Make BuildSubAggregate use FindInsertedElement again to prevent it fromMatthijs Kooijman2008-06-161-20/+48
| | | | | | | | | inserting extractvalues. In particular, this prevents the insertion of extractvalues that can't be folded away later. Also add an example of when this stuff is needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52328 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the InsertBefore argument to FindInsertedValue optional, so you can ↵Matthijs Kooijman2008-06-162-4/+12
| | | | | | find an inserted value without modifying the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52319 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass around Instruction* instead of Instruction& in FindInsertedValue and ↵Matthijs Kooijman2008-06-163-7/+7
| | | | | | friends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52318 91177308-0d34-0410-b5e6-96231b3b80d8
* Make testcase check for extractvalue instead of extractelement.Matthijs Kooijman2008-06-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52317 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 column fixes.Matthijs Kooijman2008-06-162-16/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52316 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FindScalarValue from InstructionCombining.cpp to ValueTracking.cpp. WhileMatthijs Kooijman2008-06-163-147/+138
| | | | | | | | | | | I'm at it, rename it to FindInsertedValue. The only functional change is that newly created instructions are no longer added to instcombine's worklist, but that is not really necessary anyway (and I'll commit some improvements next that will completely remove the need). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52315 91177308-0d34-0410-b5e6-96231b3b80d8
* Store the result of multiple identical run lines in a temporary file.Matthijs Kooijman2008-06-161-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52314 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comment.Matthijs Kooijman2008-06-161-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52313 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor comment fix.Argiris Kirtzidis2008-06-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52312 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR numbers, I accidentally switched two digits.Matthijs Kooijman2008-06-165-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52311 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow these transforms for types like i256 whileDuncan Sands2008-06-162-8/+12
| | | | | | | | | still excluding types like i1 (not byte sized) and i120 (loading an i120 requires loading an i64, an i32, an i16 and an i8, which is expensive). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52310 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix read after free found by valgrind.Evan Cheng2008-06-161-15/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52309 91177308-0d34-0410-b5e6-96231b3b80d8
* Add option to commuteInstruction() which forces it to create a new ↵Evan Cheng2008-06-166-13/+51
| | | | | | (commuted) instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52308 91177308-0d34-0410-b5e6-96231b3b80d8
* Make indexing empty basic blocks an option for the moment.Owen Anderson2008-06-161-9/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52306 91177308-0d34-0410-b5e6-96231b3b80d8
* add a const version of stripPointerCastsChris Lattner2008-06-161-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52305 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify some code by using a helper function. This really reallyChris Lattner2008-06-161-22/+16
| | | | | | | wants a 'nocapture' predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52304 91177308-0d34-0410-b5e6-96231b3b80d8
* move a bunch of predicates up into their own sectionChris Lattner2008-06-161-157/+171
| | | | | | | in this file, no other changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52303 91177308-0d34-0410-b5e6-96231b3b80d8
* Other parts of this code treat noalias arguments as objects forChris Lattner2008-06-161-4/+8
| | | | | | | the purposes of escape analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52302 91177308-0d34-0410-b5e6-96231b3b80d8
* If we are checking to see if the result of a call aliases aChris Lattner2008-06-162-1/+44
| | | | | | | | pointer derived from a local allocation, if the local allocation never escapes, the pointers can't alias. This implements PR2436 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52301 91177308-0d34-0410-b5e6-96231b3b80d8
* Assign indices to empty basic blocks. This will be necessary for ↵Owen Anderson2008-06-161-4/+9
| | | | | | StrongPHIElimination in the near future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52300 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor basicaa's main alias function somethin' fierce. Chris Lattner2008-06-161-104/+94
| | | | | | | | | | This fixes several minor bugs (such as returning noalias for comparisons between external weak functions an null) but is mostly a cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52299 91177308-0d34-0410-b5e6-96231b3b80d8
* this is unneeded now.Chris Lattner2008-06-161-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52298 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch from generating the int128 typedefs based on targetdata to generatingChris Lattner2008-06-161-6/+4
| | | | | | | them based on the end-compiler's capabilities. This fixes PR2453 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52297 91177308-0d34-0410-b5e6-96231b3b80d8
* resolve PR2453 by adding a run line.Chris Lattner2008-06-161-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52296 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the crash on SimplifyLibCalls/2005-05-20-sprintf-crash.llChris Lattner2008-06-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52295 91177308-0d34-0410-b5e6-96231b3b80d8
* fix pr2460Chris Lattner2008-06-161-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52294 91177308-0d34-0410-b5e6-96231b3b80d8
* The transforms in visitEXTRACT_VECTOR_ELT areDuncan Sands2008-06-151-4/+4
| | | | | | | | | not valid if the load is volatile. Hopefully all wrong DAG combiner transforms of volatile loads and stores have now been caught. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52293 91177308-0d34-0410-b5e6-96231b3b80d8
* LegalizeTypes support for INSERT_VECTOR_ELT withDuncan Sands2008-06-153-26/+59
| | | | | | | a non-constant index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52292 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2434. When scanning for exising binary operator to reuse don't Wojciech Matyjewicz2008-06-153-16/+33
| | | | | | | | | | | | take into account the instrucion pointed by InsertPt. Thanks to it, returning the new value of InsertPt to the InsertBinop() caller can be avoided. The bug was, actually, in visitAddRecExpr() method which wasn't correctly handling changes of InsertPt. There shouldn't be any performance regression, as -gvn pass (run after -indvars) removes any redundant binops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52291 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a missing semicolon.Wojciech Matyjewicz2008-06-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52290 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an "exe" suffix only if the output file has no suffix at all.Argiris Kirtzidis2008-06-151-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52289 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the sys::Path::getSuffix() implementation.Argiris Kirtzidis2008-06-153-5/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52288 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure all produced executable files have "exe" suffix on Windows.Argiris Kirtzidis2008-06-151-10/+16
| | | | | | With this more general way, -native and -native-cbe options are handled too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52287 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that the current executable filename has "exe" suffix on Windows.Argiris Kirtzidis2008-06-151-5/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52286 91177308-0d34-0410-b5e6-96231b3b80d8
* Append "exe" suffix to executable files.Argiris Kirtzidis2008-06-151-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52285 91177308-0d34-0410-b5e6-96231b3b80d8