- Mar 29, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 128469
-
Jakob Stoklund Olesen authored
This may eliminate some uses of the spilled registers, and we don't want to insert reloads for that. llvm-svn: 128468
-
Bill Wendling authored
llvm-svn: 128465
-
Bill Wendling authored
the FailBB dominator is correctly calculated. Believe it or not, there isn't a functionality change here. llvm-svn: 128455
-
Bill Wendling authored
dominator information. llvm-svn: 128452
-
Jakob Stoklund Olesen authored
llvm-svn: 128450
-
Jakob Stoklund Olesen authored
The instruction to be rematerialized may not be the one defining the register that is being spilled. The traceSiblingValue() function sees through sibling copies to find the remat candidate. llvm-svn: 128449
-
Bill Wendling authored
becomes reachable when before it wasn't). Check to make sure that it's not null before trying to use it. llvm-svn: 128434
-
Daniel Dunbar authored
integrated-as. llvm-svn: 128431
-
- Mar 28, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 128398
-
Jakob Stoklund Olesen authored
The reassignment phase was able to move interference with a higher spill weight, but it didn't happen very often and it was fairly expensive. The existing interference eviction picks up the slack. llvm-svn: 128397
-
- Mar 26, 2011
-
-
Jakob Stoklund Olesen authored
The main register class may have been inflated by live range splitting, so that register class is not necessarily valid for the snippet instructions. Use the original register class for the stack slot interval. llvm-svn: 128351
-
Benjamin Kramer authored
It couldn't be used outside of the file because SDISelAsmOperandInfo is local to SelectionDAGBuilder.cpp. Making it a static function avoids a weird linkage dance. llvm-svn: 128342
-
Jakob Stoklund Olesen authored
Correctly terminate the range of register DBG_VALUEs when the register is clobbered or when the basic block ends. The code is now ready to deal with variables that are sometimes in a register and sometimes on the stack. We just need to teach emitDebugLoc to say 'stack slot'. llvm-svn: 128327
-
- Mar 25, 2011
-
-
Jakob Stoklund Olesen authored
The .dot directives don't need labels, that is a leftover from when we created line number info manually. Instructions following a DBG_VALUE can share its label since the DBG_VALUE doesn't produce any code. llvm-svn: 128284
-
Andrew Trick authored
Yet another case of unchecked NULL node (for physreg copy). May fix PR9509. llvm-svn: 128266
-
Nick Lewycky authored
printing a single character. llvm-svn: 128256
-
Jakob Stoklund Olesen authored
Add an assertion to linear scan to prevent it from allocating registers outside the register class. <rdar://problem/9183021> llvm-svn: 128254
-
- Mar 24, 2011
-
-
Devang Patel authored
A better approach would be to move source id handling inside MC. llvm-svn: 128233
-
- Mar 23, 2011
-
-
Eli Friedman authored
Also cleaning up some duplicated code while I'm here. llvm-svn: 128176
-
Andrew Trick authored
so the scheduler can't create new interferences on the copies themselves. Prior to this fix the scheduler could get stuck in a loop creating copies. Fixes PR9509. llvm-svn: 128164
-
Andrew Trick authored
llvm-svn: 128163
-
Jakob Stoklund Olesen authored
Each of these instructions may have a RegsClobberInsn entry that can't be ignored. Consecutive ranges are coalesced later when DwarfDebug::emitDebugLoc merges entries. llvm-svn: 128155
-
Jakob Stoklund Olesen authored
The register allocator needs to know when the range shrinks. llvm-svn: 128145
-
Jakob Stoklund Olesen authored
Empty ranges may represent undef values. llvm-svn: 128144
-
Jakob Stoklund Olesen authored
llvm-svn: 128143
-
Andrew Trick authored
I'm tired of doing this manually for each checkout. If anyone knows a better way debug isel for non-trivial tests feel free to revert and let me know how to do it. llvm-svn: 128132
-
- Mar 22, 2011
-
-
Jakob Stoklund Olesen authored
This will extend the ranges of debug info variables in registers until they are clobbered. Fix 1: Don't mistake DBG_VALUE instructions referring to incoming arguments on the stack with DBG_VALUE instructions referring to variables in the frame pointer. This fixes the gdb test-suite failure. Fix 2: Don't trace through copies to physical registers setting up call arguments. These registers are call clobbered, and the source register is more likely to be a callee-saved register that can be extended through the call instruction. llvm-svn: 128114
-
Andrew Trick authored
Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem. llvm-svn: 128097
-
Jakob Stoklund Olesen authored
This is likely to fix the segfault in llvm-gcc-x86_64-darwin10-cross-mingw32. llvm-svn: 128051
-
Jakob Stoklund Olesen authored
These ranges get completely jumbled by the post-ra scheduler, and it is not really reasonable to expect it to make sense of them. Instead, teach DwarfDebug to notice when user variables in registers are clobbered, and terminate the ranges there. llvm-svn: 128045
-
- Mar 21, 2011
-
-
Eric Christopher authored
llvm-svn: 128004
-
Bill Wendling authored
the alias of an InstAlias instead of the thing being aliased. Because we need to know the features that are valid for an InstAlias. This is part of a work-in-progress. llvm-svn: 127986
-
- Mar 20, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 127973
-
Jakob Stoklund Olesen authored
This can happen when multiple sibling registers are spilled after live range splitting. llvm-svn: 127965
-
Jakob Stoklund Olesen authored
llvm-svn: 127964
-
Jakob Stoklund Olesen authored
llvm-svn: 127960
-
Jakob Stoklund Olesen authored
llvm-svn: 127959
-
- Mar 19, 2011
-
-
Evan Cheng authored
llvm-svn: 127952
-
Nadav Rotem authored
not have native support for this operation (such as X86). The legalized code uses two vector INT_TO_FP operations and is faster than scalarizing. llvm-svn: 127951
-