aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-08-18Don't call Predicate_* in Mips.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111468 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Remove extra header.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111456 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Finish full attribute class emission for clang.Sean Hunt
For more information, see the accompanying clang patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111454 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Add a newline to debug outputJim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111453 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18refix PR1143 by making basicaa analyze zexts of indices aggresively,Chris Lattner
which I broke with a recent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111452 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18If any def of a machine-sink candidate has local uses, it's obviously not ↵Evan Cheng
safe to sink it to a successor block. This bug has been hidden because a later check for critical-edge disable these illegal optimizations. This patch should significantly reduce the amount of time spent on checking dominator information for obviously unsafe sinking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111450 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18GetLinearExpression is only called when TD is non-null, pass as Chris Lattner
a reference instead of pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111445 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18rework GEP decomposition to make a new VariableGEPIndex struct instead ofChris Lattner
using a pair. This tidies up the code a bit. While setting things up, add a (currently unused) field to keep track of how the value is extended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Enable ARM base register reuse to local stack slot allocation. Whenever a newJim Grosbach
frame index reference to an object in the local block is seen, check if it's near enough to any previously allocaated base register to re-use. rdar://8277890 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111443 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Add a testcase to verify that commands don't crash when they hitDan Gohman
errors on stderr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111440 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Make raw_fd_ostream consider itself the owner of STDOUT_FILENO whenDan Gohman
constructed with an output filename of "-". In particular, allow the file descriptor to be closed, and close the file descriptor in the destructor if it hasn't been explicitly closed already, to ensure that any write errors are detected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111436 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18When sending stats output to stdout for grepping, don't emit normalDan Gohman
output to standard output also. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111435 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18move gep decomposition out of ValueTracking into BasicAA. The form ofChris Lattner
decomposition that it is doing is very basicaa specific and is only used by basicaa. Now with less tree breakingness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111433 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Tidy.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111432 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Minor simplification. Gets rid of a needless temporary.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111430 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Use ConstantRange to propagate information through value definitions.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111425 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18When sending stats output to stdout for grepping, don't emit normalDan Gohman
output to standard output also. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111401 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Thinking about it, we don't need MachineDominatorTree after all. The DomValueJakob Stoklund Olesen
map discovers the iterated dominance frontier for free. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111400 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Introduce a ScopedFatalErrorHandler class to make it easy to registerDan Gohman
fatal error handlers which automatically get unregistered at the end of a scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111398 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Revert r111394. It was too aggressive.Jakob Stoklund Olesen
We must complete the DFS, otherwise we might miss needed phi-defs, and prematurely color live ranges with a non-dominating value. This is not a big deal since we get to color more of the CFG and the next mapValue call will be faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111397 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Aggressively prune the DFS when inserting phi-defs.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111394 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Add the LiveIntervalMap class. Don't hook it up yet.Jakob Stoklund Olesen
LiveIntervalMap maps values from a parent LiveInterval to a child interval that is a strict subset. It will create phi-def values as needed to preserve the VNInfo SSA form in the child interval. This leads to an algorithm very similar to the one in SSAUpdaterImpl.h, but with enough differences that the code can't be reused: - We don't need to manipulate PHI instructions. - LiveIntervals have kills. - We have MachineDominatorTree. - We can use df_iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111393 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Add df_iterator::getPathLength and getPath as a way of getting a path from theJakob Stoklund Olesen
entry node to the current node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111392 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Revert r111375, "move gep decomposition out of ValueTracking into BasicAA. TheDaniel Dunbar
form of", it doesn't pass tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111385 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Improve whitespace.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111384 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Marked with ATTRIBUTE_USED so that clang doesn't complain.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111383 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer ↵Owen Anderson
issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111382 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18MC/ELF: Allow null values in virtual sections, ELF doesn't use specialDaniel Dunbar
directives for putting contents in .bss, for example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111376 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18move gep decomposition out of ValueTracking into BasicAA. The form ofChris Lattner
decomposition that it is doing is very basicaa specific and is only used by basicaa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111375 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Add hook for re-using virtual base registers for local stack slot access.Jim Grosbach
Nothing fancy, just ask the target if any currently available base reg is in range for the instruction under consideration and use the first one that is. Placeholder ARM implementation simply returns false for now. ongoing saga of rdar://8277890 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111374 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Eliminate some redundancy by relying on raw_fd_ostream to handle "-"Dan Gohman
properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111373 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Allow the -analyze option to follow the -o option, which defaults toDan Gohman
standard output, instead of just hardcoding outs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111372 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Don't translate "-" to outs() manually; raw_ostream does that automatically.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111371 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Don't translate "-" to outs() manually; raw_ostream does thatDan Gohman
automatically. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111370 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Don't register stdout to be deleted on a signal.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111368 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Remove an unused command-line option.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111367 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Preserve subregs on PHI source operands. Patch by Krister Wombell!Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111366 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Fix a bug with insertelement on SPU. Kalle Raiskila
The previous algorithm in LowerVECTOR_SHUFFLE didn't check all requirements for "monotonic" shuffles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111361 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Remove all traces of v2[i,f]32 on SPU. Kalle Raiskila
The "half vectors" are now widened to full size by the legalizer. The only exception is in parameter passing, where half vectors are expanded. This causes changes to some dejagnu tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111360 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Change SPU C calling convention to match that described in Kalle Raiskila
"SPU Application Binary Interface Specification, v1.9" by IBM. Specifically: use r3-r74 to pass parameters and the return value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18fix a buggy testChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111354 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18fix PR7589: In brief:Chris Lattner
gep P, (zext x) != gep P, (sext x) DecomposeGEPExpression was getting this wrong, confusing basicaa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111352 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18filecheckize and detrivialize.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111350 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Fix PR7755: knowing something about an inval for a predChris Lattner
from the LHS should disable reconsidering that pred on the RHS. However, knowing something about the pred on the RHS shouldn't disable subsequent additions on the RHS from happening. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111349 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18fit in 80 colsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111348 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18remove some dead code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111345 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18remove some dead code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111344 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18remove some code that is dead now that lea's are modeled with segment registers.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111343 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18remove dead prototype.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111342 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18Expand ZERO_EXTEND operations for NEON vector types.Bob Wilson
Testcase from Nick Lewycky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111341 91177308-0d34-0410-b5e6-96231b3b80d8