- Aug 19, 2010
-
-
Evan Cheng authored
If any def of a machine-sink candidate has local uses, it's obviously not 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. llvm-svn: 111450
-
Chris Lattner authored
a reference instead of pointer. llvm-svn: 111445
-
Chris Lattner authored
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. llvm-svn: 111444
-
Jim Grosbach authored
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 llvm-svn: 111443
-
Dan Gohman authored
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. llvm-svn: 111436
-
Chris Lattner authored
decomposition that it is doing is very basicaa specific and is only used by basicaa. Now with less tree breakingness. llvm-svn: 111433
-
Dan Gohman authored
llvm-svn: 111432
-
- Aug 18, 2010
-
-
Bill Wendling authored
llvm-svn: 111430
-
Owen Anderson authored
llvm-svn: 111425
-
Jakob Stoklund Olesen authored
map discovers the iterated dominance frontier for free. llvm-svn: 111400
-
Jakob Stoklund Olesen authored
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. llvm-svn: 111397
-
Jakob Stoklund Olesen authored
llvm-svn: 111394
-
Jakob Stoklund Olesen authored
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. llvm-svn: 111393
-
Daniel Dunbar authored
form of", it doesn't pass tests. llvm-svn: 111385
-
Bill Wendling authored
llvm-svn: 111384
-
Bill Wendling authored
llvm-svn: 111383
-
Owen Anderson authored
llvm-svn: 111382
-
Daniel Dunbar authored
directives for putting contents in .bss, for example. llvm-svn: 111376
-
Chris Lattner authored
decomposition that it is doing is very basicaa specific and is only used by basicaa. llvm-svn: 111375
-
Jim Grosbach authored
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 llvm-svn: 111374
-
Jakob Stoklund Olesen authored
llvm-svn: 111366
-
Kalle Raiskila authored
The previous algorithm in LowerVECTOR_SHUFFLE didn't check all requirements for "monotonic" shuffles. llvm-svn: 111361
-
Kalle Raiskila authored
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. llvm-svn: 111360
-
Kalle Raiskila authored
"SPU Application Binary Interface Specification, v1.9" by IBM. Specifically: use r3-r74 to pass parameters and the return value. llvm-svn: 111358
-
Chris Lattner authored
gep P, (zext x) != gep P, (sext x) DecomposeGEPExpression was getting this wrong, confusing basicaa. llvm-svn: 111352
-
Chris Lattner authored
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. llvm-svn: 111349
-
Chris Lattner authored
llvm-svn: 111348
-
Chris Lattner authored
llvm-svn: 111345
-
Chris Lattner authored
llvm-svn: 111344
-
Chris Lattner authored
llvm-svn: 111343
-
Chris Lattner authored
llvm-svn: 111342
-
Bob Wilson authored
Testcase from Nick Lewycky. llvm-svn: 111341
-
Dan Gohman authored
llvm-svn: 111339
-
Chris Lattner authored
llvm-svn: 111337
-
Chris Lattner authored
llvm-svn: 111325
-
rdar://8318441Chris Lattner authored
(e.g. errs()) fails in close() due to (e.g.) a broken pipe. As previously written, the had_error() flag would get set and then the raw_ostream dtor would report a fatal error. There is nothing the client can do about this and we have no way to report the error, so just eat it. llvm-svn: 111321
-
Chris Lattner authored
into report_fatal_error. Just blast the string to stderr with write(2) and hope for the best! Part of rdar://8318441 llvm-svn: 111320
-
Eric Christopher authored
vector heavy code. I'll re-enable when we've tracked down the problem. llvm-svn: 111318
-
Dan Gohman authored
where the step value is an induction variable from an outer loop, to avoid trouble trying to re-expand such expressions. This effectively hides such expressions from indvars and lsr, which prevents them from getting into trouble. llvm-svn: 111317
-
Jim Grosbach authored
the local block. Resolve references to those indices to a new base register. For simplification and testing purposes, a new virtual base register is allocated for each frame index being resolved. The result is truly horrible, but correct, code that's good for exercising the new code paths. Next up is adding thumb1 support, which should be very simple. Following that will be adding base register re-use and implementing a reasonable ARM heuristic for when a virtual base register should be generated at all. llvm-svn: 111315
-