- Apr 12, 2011
-
-
Devang Patel authored
llvm-svn: 129367
-
Eric Christopher authored
llvm-svn: 129334
-
Jakob Stoklund Olesen authored
when compiling many small functions. llvm-svn: 129321
-
Nick Lewycky authored
mean that it has to be ConstantArray of ConstantStruct. We might have ConstantAggregateZero, at either level, so don't crash on that. Also, semi-deprecate the sentinal value. The linker isn't aware of sentinals so we end up with the two lists appended, each with their "sentinals" on them. Different parts of LLVM treated sentinals differently, so make them all just ignore the single entry and continue on with the rest of the list. llvm-svn: 129307
-
- Apr 11, 2011
-
-
Jakob Stoklund Olesen authored
weight limit has been exceeded. llvm-svn: 129305
-
Bill Wendling authored
the 'unwind' instruction. However, later on that instruction was converted into a jump to the basic block it was located in, causing an infinite loop when we get there. It turns out, we get there if the _Unwind_Resume_or_Rethrow call returns (which it's not supposed to do). It returns if it cannot find a place to unwind to. Thus we would get what appears to be a "hang" when in reality it's just that the EH couldn't be propagated further along. Instead of infinitely looping (or calling `unwind', which none of our back-ends support (it's lowered into nothing...)), call the @llvm.trap() intrinsic instead. This may not conform to specific rules of a particular language, but it's rather better than infinitely looping. <rdar://problem/9175843&9233582> llvm-svn: 129302
-
Evan Cheng authored
Look pass copies when determining whether hoisting would end up inserting more copies. rdar://9266679 llvm-svn: 129297
-
Jakob Stoklund Olesen authored
LiveIntervals::findLiveInMBBs has to do a full binary search for each segment. llvm-svn: 129292
-
Evan Cheng authored
llvm-svn: 129287
-
Jakob Stoklund Olesen authored
Both coalescing and register allocation already check aliases for interference, so these extra segments are only slowing us down. This speeds up both linear scan and the greedy register allocator. llvm-svn: 129283
-
Jakob Stoklund Olesen authored
This particularly helps with the initial transfer of fixed intervals. llvm-svn: 129277
-
Jakob Stoklund Olesen authored
llvm-svn: 129276
-
Jakob Stoklund Olesen authored
In particular, don't repeatedly recompute the PIC base live range after rematerialization. llvm-svn: 129275
-
Jay Foad authored
llvm-svn: 129271
-
- Apr 09, 2011
-
-
Chris Lattner authored
Switch lowering probably shouldn't be using FP for this. This resolves PR9581. llvm-svn: 129199
-
Jakob Stoklund Olesen authored
It is common for large live ranges to have few basic blocks with register uses and many live-through blocks without any uses. This approach grows the Hopfield network incrementally around the use blocks, completely avoiding checking interference for some through blocks. llvm-svn: 129188
-
Jakob Stoklund Olesen authored
This doesn't require seeking in the live interval union, so it is very cheap. llvm-svn: 129187
-
Chris Lattner authored
with undef arguments. llvm-svn: 129185
-
Devang Patel authored
Simplify array bound checks and clarify comments. One element array can have same non-zero number as lower bound as well as upper bound. llvm-svn: 129170
-
- Apr 08, 2011
-
-
Devang Patel authored
If lower bound is more then upper bound then consider it is an unbounded array. An array is unbounded if non-zero lower bound is same as upper bound. If lower bound and upper bound are zero than array has one element. llvm-svn: 129156
-
Evan Cheng authored
Change -arm-trap-func= into a non-arm specific option. Now Intrinsic::trap is lowered into a call to the specified trap function at sdisel time. llvm-svn: 129152
-
Nick Lewycky authored
of { i32, void ()* }. Teach the verifier to verify that, deleting copies of checks strewn about. llvm-svn: 129128
-
- Apr 07, 2011
-
-
Andrew Trick authored
induction variable. The preRA scheduler is unaware of induction vars, so we look for potential "virtual register cycles" instead. Fixes <rdar://problem/8946719> Bad scheduling prevents coalescing llvm-svn: 129100
-
Jakob Stoklund Olesen authored
PHI values may be deleted, causing the flags to be wrong. This fixes PR9616. llvm-svn: 129092
-
Jakob Stoklund Olesen authored
llvm-svn: 129081
-
Jakob Stoklund Olesen authored
llvm-svn: 129080
-
Jakob Stoklund Olesen authored
llvm-svn: 129079
-
-
- Apr 06, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 129030
-
Jakob Stoklund Olesen authored
Without any positive bias, there is nothing for the spill placer to to. It will spill everywhere. llvm-svn: 129029
-
Jakob Stoklund Olesen authored
If there are no positive nodes, the algorithm can be aborted early. llvm-svn: 129021
-
Jakob Stoklund Olesen authored
This will allow us to abort the algorithm early if it is determined to be futile. llvm-svn: 129020
-
Jakob Stoklund Olesen authored
llvm-svn: 128986
-
Jakob Stoklund Olesen authored
About 90% of the relevant blocks are live-through without uses, and the only information required about them is their number. This saves memory and enables later optimizations that need to look at only the use-blocks. llvm-svn: 128985
-
Jakob Stoklund Olesen authored
llvm-svn: 128963
-
Jakob Stoklund Olesen authored
llvm-svn: 128962
-
Jakob Stoklund Olesen authored
Treat the landing pad as a normal successor when that happens. llvm-svn: 128961
-
Devang Patel authored
llvm-svn: 128947
-
- Apr 05, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 128935
-
Devang Patel authored
llvm-svn: 128929
-