- Aug 19, 2009
-
-
David Goodwin authored
Use the schedule itinerary operand use/def cycle information to adjust dependence edge latency for post-RA scheduling. llvm-svn: 79425
-
Eli Friedman authored
llvm-svn: 79415
-
Chris Lattner authored
llvm-svn: 79406
-
Chris Lattner authored
talk to the MCStreamer directly instead. llvm-svn: 79405
-
Lang Hames authored
llvm-svn: 79397
-
Dan Gohman authored
just falling through the end. llvm-svn: 79383
-
Dan Gohman authored
SRA_PARTS, as is done for SRL, SHL, and SRA. llvm-svn: 79380
-
Lang Hames authored
llvm-svn: 79378
-
- Aug 18, 2009
-
-
Jakob Stoklund Olesen authored
- Drop the Candidates argument and fix all callers. Now that RegScavenger tracks available registers accurately, there is no need to restict the search. - Make sure that no aliases of the found register are in use. This was a potential bug. llvm-svn: 79369
-
David Greene authored
Make various changes suggested by Chris. llvm-svn: 79358
-
Chris Lattner authored
llvm-svn: 79346
-
Dan Gohman authored
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because it breaks assumptions made in MachineBasicBlock::isOnlyReachableByFallthrough. Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase for PR4732. test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to it being bugpoint-reduced to the point where it doesn't matter what the condition for the branch is. Add some more interesting code to test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase that originally motivated the RemoveDuplicateSuccessor code, to help verify that the original problem isn't being re-broken. llvm-svn: 79338
-
Chris Lattner authored
MCAsmStreamer. Based on this, eliminate the current section from AsmPrinter. While I'm at it, clean up the last of the horrible "switch to null section" stuff and add an assert. This change is in preparation for completely eliminating asmprinter::switchtosection. llvm-svn: 79324
-
Chris Lattner authored
an EHFrame section, so we just emit ehframe data into a random section. This is clearly bad. llvm-svn: 79323
-
Chris Lattner authored
llvm-svn: 79313
-
Chris Lattner authored
llvm-svn: 79312
-
Chris Lattner authored
be able to understand ;-) llvm-svn: 79311
-
- Aug 17, 2009
-
-
Jim Grosbach authored
llvm-svn: 79287
-
Jim Grosbach authored
llvm-svn: 79272
-
Benjamin Kramer authored
llvm-svn: 79264
-
Daniel Dunbar authored
llvm-svn: 79262
-
Jim Grosbach authored
more properly belong. This allows removing the front-end conditionalized SJLJ code, and cleans up the generated IR considerably. All of the infrastructure code (calling _Unwind_SjLj_Register/Unregister, etc) is added by the SjLjEHPrepare pass. llvm-svn: 79250
-
David Goodwin authored
Extend the instruction itinerary model to include the ability to indicate the def and use cycle for each operand. This additional information is optional, so existing itineraries do not need to be changed. llvm-svn: 79247
-
Chris Lattner authored
just remove the argument and replace it with 1. llvm-svn: 79246
-
Chris Lattner authored
doing it directly. This requires const'izing a bunch of stuff that took sections, but this seems like the right semantic thing to do: emitting a label to a section shouldn't mutate the MCSection object itself, for example. llvm-svn: 79227
-
Chris Lattner authored
llvm-svn: 79222
-
- Aug 16, 2009
-
-
Jakob Stoklund Olesen authored
llvm-svn: 79195
-
Jakob Stoklund Olesen authored
Remove unused methods and make others private. llvm-svn: 79194
-
Jakob Stoklund Olesen authored
If two uses of a CopyFromReg want different regclasses, first try a common sub-class, then fall back on the copy emitted in AddRegisterOperand. There is no need for an assert here. The cross-class joiner usually cleans up nicely. llvm-svn: 79193
-
Evan Cheng authored
llvm-svn: 79150
-
Bill Wendling authored
llvm-svn: 79146
-
- Aug 15, 2009
-
-
Benjamin Kramer authored
llvm-svn: 79133
-
Jakob Stoklund Olesen authored
It is legal for an inline asm operand to use an earlyclobber register if the use operand is tied to the earlyclobber operand. The issue is discussed here: http://gcc.gnu.org/ml/gcc/1999-04n/msg00431.html We should perhaps let only the machine code verifier worry about these finer details. EarlyClobber operands are not really interesting to the scavenger. This fixes PR4528 for the third time. llvm-svn: 79122
-
Jakob Stoklund Olesen authored
In a naked function, the flag is never set and getPristineRegs() returns an empty list. That means naked functions are able to clobber callee saved registers, but that is the whole point of naked functions. This fixes PR4716. llvm-svn: 79096
-
Jakob Stoklund Olesen authored
llvm-svn: 79095
-
Jakob Stoklund Olesen authored
In the included test case, a stack load was not included in DistanceMap. That caused TransferDeadness to ignore the instruction, leading to a scavenger assert. llvm-svn: 79090
-
Evan Cheng authored
llvm-svn: 79087
-
Dan Gohman authored
llvm-svn: 79068
-
- Aug 14, 2009
-
-
Devang Patel authored
llvm-svn: 79044
-
Anton Korobeynikov authored
libcall. Take advantage of this in the ARM backend to rectify broken choice of CC when hard float is in effect. PIC16 may want to see if it could be of use in MakePIC16Libcall, which works unchanged. Patch by Sandeep! llvm-svn: 79033
-