- Sep 12, 2012
-
-
Lang Hames authored
findLastUseBefore was previous considering virtreg liveness only, leading to incorrect live intervals for reg units when instrs with physreg operands were moved up. llvm-svn: 163685
-
Craig Topper authored
llvm-svn: 163682
-
Manman Ren authored
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" No functional change. Update r163344. llvm-svn: 163679
-
Nadav Rotem authored
The input program may contain intructions which are not inside lifetime markers. This can happen due to a bug in the compiler or due to a bug in user code (for example, returning a reference to a local variable). This commit adds checks that all of the instructions in the function and invalidates lifetime ranges which do not contain all of the instructions. llvm-svn: 163678
-
Eric Christopher authored
Part of rdar://9797999 llvm-svn: 163667
-
Owen Anderson authored
Improve tblgen code cleanliness: create an unknown_class, from which the unknown def inherits. Make tblgen check for that class, rather than checking for the def itself. llvm-svn: 163664
-
Owen Anderson authored
Compute a map from register names to registers, rather than scanning the list of registers every time we want to look up a register by name. llvm-svn: 163659
-
Chad Rosier authored
llvm-svn: 163658
-
Chad Rosier authored
llvm-svn: 163655
-
Chad Rosier authored
llvm-svn: 163654
-
Manman Ren authored
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" No functional change. Update r163339. llvm-svn: 163653
-
- Sep 11, 2012
-
-
Chad Rosier authored
llvm-svn: 163649
-
Chad Rosier authored
llvm-svn: 163648
-
Chad Rosier authored
Add support in the EmitMSInlineAsmStr() function for handling integer consts. llvm-svn: 163645
-
Manman Ren authored
a pair of switch/branch where both depend on the value of the same variable and the default case of the first switch/branch goes to the second switch/branch. Code clean up and fixed a few issues: 1> handling the case where some cases of the 2nd switch are invalidated 2> correctly calculate the weight for the 2nd switch when it is a conditional eq Testing case is modified from Alastair's original patch. llvm-svn: 163635
-
Jakob Stoklund Olesen authored
Sub-register lane masks are bitmasks that can be used to determine if two sub-registers of a virtual register will overlap. For example, ARM's ssub0 and ssub1 sub-register indices don't overlap each other, but both overlap dsub0 and qsub0. The lane masks will be accurate on most targets, but on targets that use sub-register indexes in an irregular way, the masks may conservatively report that two sub-register indices overlap when the eventually allocated physregs don't. Irregular register banks also mean that the bits in a lane mask can't be mapped onto register units, but the concept is similar. llvm-svn: 163630
-
Jakob Stoklund Olesen authored
Preserve the Composites map in the CodeGenSubRegIndex class so it can be used to determine which sub-register indices can actually be composed. llvm-svn: 163629
-
Jakob Stoklund Olesen authored
Apparently, NumSubRegIndices was completely unused before. Adjust it by one to include the null subreg index, just like getNumRegs() includes the null register. llvm-svn: 163628
-
Chad Rosier authored
llvm-svn: 163627
-
Nadav Rotem authored
Dragonegg selfhost exposed additional cases where alloca usage moved outside of lifetime markers. Disabling the pass for now. llvm-svn: 163623
-
Nadav Rotem authored
llvm-svn: 163617
-
Nadav Rotem authored
llvm-svn: 163616
-
Evgeniy Stepanov authored
llvm-svn: 163612
-
Duncan Sands authored
llvm-svn: 163601
-
Craig Topper authored
llvm-svn: 163596
-
Craig Topper authored
llvm-svn: 163594
-
NAKAMURA Takumi authored
llvm-svn: 163593
-
Alex Rosenberg authored
Add a pass that renames everything with metasyntatic names. This works well after using bugpoint to reduce the confusion presented by the original names, which no longer mean what they used to. llvm-svn: 163592
-
Craig Topper authored
Teach DAG combiner to constant fold FABS of a BUILD_VECTOR of ConstantFPs. Factor similar code out of FNEG DAG combiner. llvm-svn: 163587
-
Chandler Carruth authored
Patch by Brad Smith! llvm-svn: 163584
-
Andrew Trick authored
The Hexagon target decided to use a lot of functionality from the target-independent scheduler. That's fine, and other targets should be able to do the same. This reorg and API update makes that easy. For the record, ScheduleDAGMI was not meant to be subclassed. Instead, new scheduling algorithms should be able to implement MachineSchedStrategy and be done. But if need be, it's nice to be able to extend ScheduleDAGMI, so I also made that easier. The target scheduler is somewhat more apt to break that way though. llvm-svn: 163580
-
Andrew Trick authored
llvm-svn: 163579
-
Eric Christopher authored
right now. We'll fix PR13303 a different way. llvm-svn: 163570
-
Eric Christopher authored
llvm-svn: 163569
-
Eric Christopher authored
llvm-svn: 163568
-
Eric Christopher authored
llvm-svn: 163567
-
Chad Rosier authored
llvm-svn: 163565
-
Chad Rosier authored
llvm-svn: 163561
-
Chad Rosier authored
llvm-svn: 163557
-
Chad Rosier authored
llvm-svn: 163556
-