- Oct 18, 2009
-
-
Evan Cheng authored
stack slots and giving them different PseudoSourceValue's did not fix the problem of post-alloc scheduling miscompiling llvm itself. - Apply Dan's conservative workaround by assuming any non fixed stack slots can alias other memory locations. This means a load from spill slot #1 cannot move above a store of spill slot #2. - Enable post-alloc scheduling for x86 at optimization leverl Default and above. llvm-svn: 84424
-
Evan Cheng authored
llvm-svn: 84411
-
Daniel Dunbar authored
llvm-svn: 84372
-
- Oct 17, 2009
-
-
Daniel Dunbar authored
llvm-svn: 84327
-
Evan Cheng authored
Distinquish stack slots from other stack objects. They (and fixed objects) get FixedStack PseudoSourceValues. llvm-svn: 84326
-
Evan Cheng authored
llvm-svn: 84321
-
Evan Cheng authored
necessarily fixed. Only those will negative frame indices are "fixed." llvm-svn: 84315
-
Evan Cheng authored
llvm-svn: 84311
-
Dan Gohman authored
llvm-svn: 84300
-
Victor Hernandez authored
llvm-svn: 84299
-
Dan Gohman authored
to be more general and understand more varieties of loops. Teach CodePlacementOpt to reorganize the basic blocks of a loop so that they are contiguous. This also includes a fair amount of logic for preserving fall-through edges while doing so. This fixes a BranchFolding-ism where blocks which can't be made to use a fall-through edge and don't conveniently fit anywhere nearby get tossed out to the end of the function. llvm-svn: 84295
-
Mon P Wang authored
llvm-svn: 84279
-
- Oct 16, 2009
-
-
Devang Patel authored
llvm-svn: 84276
-
Evan Cheng authored
llvm-svn: 84273
-
Devang Patel authored
If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info. llvm-svn: 84262
-
Evan Cheng authored
llvm-svn: 84248
-
Zhongxing Xu authored
llvm-svn: 84247
-
Evan Cheng authored
llvm-svn: 84244
-
- Oct 15, 2009
-
-
Jakob Stoklund Olesen authored
llvm-svn: 84193
-
Dan Gohman authored
header is just the entry block to the loop, and it needn't be at the top of the loop in the code layout. Remove the code that suppressed loop alignment for outer loops, so that outer loops are aligned. llvm-svn: 84158
-
Evan Cheng authored
When LiveVariables is adding implicit-def to model "partial dead", add the earlyclobber marker if the superreg def has it. llvm-svn: 84153
-
Evan Cheng authored
llvm-svn: 84152
-
- Oct 14, 2009
-
-
Jim Grosbach authored
llvm-svn: 84138
-
Devang Patel authored
llvm-svn: 84134
-
Jim Grosbach authored
llvm-svn: 84133
-
Duncan Sands authored
so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector. Likewise for eh.typeid.for. This aligns us with gcc, which always uses a 32 bit value for the selector on all platforms. My understanding is that the register allocator used to assert if the selector intrinsic size didn't match the pointer size, and this was the reason for introducing the two variants. However my testing shows that this is no longer the case (I fixed some bugs in selector lowering yesterday, and some more today in the fastisel path; these might have caused the original problems). llvm-svn: 84106
-
Dan Gohman authored
to remat non-load instructions as loads, and the remat code now uses the UnmodeledSideEffects flags, MachineMemOperands, and similar things to decide which instructions are valid for rematerialization. llvm-svn: 84060
-
Dan Gohman authored
llvm-svn: 84059
-
Devang Patel authored
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g llvm-svn: 84054
-
- Oct 13, 2009
-
-
Duncan Sands authored
truncating an SDValue (depending on whether the target type is bigger or smaller than the value's type); or zero extending or truncating it. Use it in a few places (this seems to be a popular operation, but I only modified cases of it in SelectionDAGBuild). In particular, the eh_selector lowering was doing this wrong due to a repeated rather than inverted test, fixed with this change. llvm-svn: 84027
-
David Goodwin authored
llvm-svn: 84011
-
Daniel Dunbar authored
llvm-svn: 83950
-
Devang Patel authored
llvm-svn: 83922
-
Devang Patel authored
llvm-svn: 83921
-
- Oct 12, 2009
-
-
Dale Johannesen authored
bootstrap of FSF-style PPC, so there is some reason to believe the original bug (which was never analyzed) has been fixed, probably by 82266. llvm-svn: 83871
-
Dan Gohman authored
llvm-svn: 83857
-
Nate Begeman authored
compile time penalty on gnugo, the worst case in MultiSource, is down to about 2.5% from 30% llvm-svn: 83824
-
Chris Lattner authored
llvm-svn: 83822
-
- Oct 10, 2009
-
-
Dan Gohman authored
into MachineInstrs. This is mostly just moving the code from ScheduleDAGSDNodesEmit.cpp into a new class. This decouples MachineInstr emitting from scheduling. llvm-svn: 83699
-
Dan Gohman authored
since it won't do any folding. This will help avoid some inconvenient casting. llvm-svn: 83698
-