aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-06-17Provide generic hooks for icache invalidation. Add PPC implementation.Anton Korobeynikov
Patch by Gary Benson! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52418 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17revert recent patch which is causing widespread breakage.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52415 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Don't forget to initialize SymbolSearchingDisabled.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52414 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Fix typo that changed the logic to something wrong.Duncan Sands
Spotted by Nick Lewycky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52411 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Split type expansion into ExpandInteger and ExpandFloatDuncan Sands
rather than bundling them together. Rename FloatToInt to PromoteFloat (better, if not perfect). Reorganize files by types rather than by operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52408 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Forgot to commit the ValueTracking header file along with r52396.Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52401 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Learn IPConstProp to propagate arguments that are directly returned. StrictlyMatthijs Kooijman
speaking these are not constant values. However, when a function always returns one of its arguments, then from the point of view of each caller the return value is constant (or at least a known value) and can be replaced. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Learn IPConstProp to look at individual return values and propagate themMatthijs Kooijman
individually. Also learn IPConstProp how returning first class aggregates work, in addition to old style multiple return instructions. Modify the return-constants testscase to confirm this behaviour. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52396 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-1780 column fixes.Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52391 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Use a SmallVector instead of an array, since auto_ptr doesn't handle arraysMatthijs Kooijman
properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52390 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17add a new -enable-value-prop flag for llcbeta, that enables propagationChris Lattner
of value info (sign/zero ext info) from one MBB to another. This doesn't handle much right now because of two limitations: 1) only handles zext/sext, not random bit propagation (no assert exists for this) 2) doesn't handle phis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52383 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Fix spelling.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52381 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17Rather than avoiding to wrap ISD::DECLARE GV operand in X86ISD::Wrapper, ↵Evan Cheng
simply handle it at dagisel time with x86 specific isel code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52377 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Add a missing ~ (dtor became ctor) which caused crashes on a bunch of stuff.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52374 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Do not issue identity copies.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52373 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Refine the change in r52258 for avoiding use-before-def conditionsDan Gohman
when changing the stride of a comparison so that it's slightly more precise, by having it scan the instruction list to determine if there is a use of the condition after the point where the condition will be inserted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52371 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16switch TypeHasCycleThroughItself from using an std::set to using a SmallPtrSet,Chris Lattner
this speeds up the linking testcase in PR1860 by 44% (.379 -> 0.263) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52365 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16stop making PATypeHolder's so crazily.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52364 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Horizontal-add instructions are not commutative.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52363 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Switch over to SetVector to ensure same order of iterations do not vary ↵Evan Cheng
across runs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52361 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Move some documentation from the header file into ProgrammersManual. About ↵Gabor Greif
to improve. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52360 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16use a real associative container for type association instead of usingChris Lattner
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
2008-06-16- Add "Commutative" property to intrinsics. This allows tblgen to generate ↵Evan Cheng
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
2008-06-16mpsadbw is commutable.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52352 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16bail out sooner if we have two concrete but different types.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52351 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16simplify some code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52350 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Apply a patch from Nathan Keynes, which speeds up llvm-link onChris Lattner
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
2008-06-16Remove special case handling of empty MBBs now that we assign indices to them.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52345 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16handle vectors. Any integers that got here would necessarily be different ↵Chris Lattner
already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52341 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Simplify ResolveTypes by pulling the null case out into the one Chris Lattner
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
2008-06-16Iterating over SmallPtrSet is not deterministic.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52339 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16simplify RecursiveResolveTypes and ResolveTypes by pulling the naming out ofChris Lattner
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
2008-06-16Add a new flag that disables symbol lookup with dlsym when set. This allowsChris Lattner
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
2008-06-16Add support for icache invalidation on non-darwin ppc systems.Chris Lattner
Patch by Gary Benson! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52332 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Re-enable empty block indexing by default, since it doesn't seem to have anyOwen Anderson
impact on code quality or compile time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52329 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Make BuildSubAggregate use FindInsertedElement again to prevent it fromMatthijs Kooijman
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
2008-06-16Make the InsertBefore argument to FindInsertedValue optional, so you can ↵Matthijs Kooijman
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
2008-06-16Pass around Instruction* instead of Instruction& in FindInsertedValue and ↵Matthijs Kooijman
friends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52318 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Make testcase check for extractvalue instead of extractelement.Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52317 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-1680 column fixes.Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52316 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Move FindScalarValue from InstructionCombining.cpp to ValueTracking.cpp. WhileMatthijs Kooijman
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
2008-06-16Store the result of multiple identical run lines in a temporary file.Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52314 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Add comment.Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52313 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Minor comment fix.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52312 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Fix PR numbers, I accidentally switched two digits.Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52311 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Allow these transforms for types like i256 whileDuncan Sands
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
2008-06-16Fix read after free found by valgrind.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52309 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Add option to commuteInstruction() which forces it to create a new ↵Evan Cheng
(commuted) instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52308 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Make indexing empty basic blocks an option for the moment.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52306 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16add a const version of stripPointerCastsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52305 91177308-0d34-0410-b5e6-96231b3b80d8