- Oct 13, 2009
-
-
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
-
Dan Gohman authored
llvm-svn: 83695
-
Dan Gohman authored
it isn't needed in the ScheduleDAGSDNodes schedulers. llvm-svn: 83691
-
Dan Gohman authored
is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. llvm-svn: 83687
-
Devang Patel authored
Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location. While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself. llvm-svn: 83684
-
- Oct 09, 2009
-
-
Dan Gohman authored
TargetInstrDesc::isRematerializable flag, so it isn't necessary to do this check in its callers. llvm-svn: 83671
-
Dan Gohman authored
information when unfolding memory references. llvm-svn: 83656
-
Devang Patel authored
Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage. llvm-svn: 83655
-
Jim Grosbach authored
llvm-svn: 83653
-
Evan Cheng authored
llvm-svn: 83624
-
Evan Cheng authored
llvm-svn: 83622
-
Evan Cheng authored
llvm-svn: 83608
-
Evan Cheng authored
llvm-svn: 83589
-
- Oct 08, 2009
-
-
Devang Patel authored
llvm-svn: 83571
-
Bob Wilson authored
similar to getTargetExtractSubreg. llvm-svn: 83564
-
Devang Patel authored
Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases. llvm-svn: 83563
-
Dan Gohman authored
to declare that they preserve other passes without needing to pull in additional header file or library dependencies. Convert MachineFunctionPass and CodeGenLICM to make use of this. llvm-svn: 83555
-
Jim Grosbach authored
llvm-svn: 83521
-
Jim Grosbach authored
bugfix. The target may use virtual registers that aren't tracked for re-use but are allocated by the scavenger. The re-use algorithm needs to watch for that. llvm-svn: 83519
-
Jim Grosbach authored
llvm-svn: 83501
-
Chris Lattner authored
llvm-svn: 83500
-
Jim Grosbach authored
llvm-svn: 83496
-
- Oct 07, 2009
-
-
Jim Grosbach authored
llvm-svn: 83483
-
Jim Grosbach authored
llvm-svn: 83481
-
Owen Anderson authored
to finish it any time soon. If someone's interested it, they can resurrect it from SVN history. llvm-svn: 83480
-
Dan Gohman authored
teach it how to recognize invariant physical registers. llvm-svn: 83476
-
Dan Gohman authored
implementations with a new MachineInstr::isInvariantLoad, which uses MachineMemOperands and is target-independent. This brings MachineLICM and other functionality to targets which previously lacked an isInvariantLoad implementation. llvm-svn: 83475
-
Dan Gohman authored
llvm-svn: 83474
-
Jim Grosbach authored
a virtual register to eliminate a frame index, it can return that register and the constant stored there to PEI to track. When scavenging to allocate for those registers, PEI then tracks the last-used register and value, and if it is still available and matches the value for the next index, reuses the existing value rather and removes the re-materialization instructions. Fancier tracking and adjustment of scavenger allocations to keep more values live for longer is possible, but not yet implemented and would likely be better done via a different, less special-purpose, approach to the problem. eliminateFrameIndex() is modified so the target implementations can return the registers they wish to be tracked for reuse. ARM Thumb1 implements and utilizes the new mechanism. All other targets are simply modified to adjust for the changed eliminateFrameIndex() prototype. llvm-svn: 83467
-
Dan Gohman authored
llvm-svn: 83437
-
- Oct 06, 2009
-
-
Devang Patel authored
This is not yet enabled. llvm-svn: 83400
-
Dan Gohman authored
verbose-asm mode, print comments instead. This eliminates a non-comment difference between verbose-asm mode and non-verbose-asm mode. Also, factor out the relevant code out of all the targets and into target-independent code. llvm-svn: 83392
-
Duncan Sands authored
where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy. llvm-svn: 83379
-
Jim Grosbach authored
llvm-svn: 83378
-