- Jul 23, 2011
-
-
Jakob Stoklund Olesen authored
If there is no interference and no last split point, we cannot enterIntvBefore(Stop) - that function needs a real instruction. Use enterIntvAtEnd instead for that very easy case. This code doesn't currently run, it is needed by multi-way splitting. llvm-svn: 135846
-
Jakob Stoklund Olesen authored
A split candidate can have a null PhysReg which means that it doesn't map to a real interference pattern. Instead, pretend that all through blocks have interference. This makes it possible to generate compact regions where the live range doesn't go through blocks that don't use it. The live range will still be live between directly connected blocks with uses. Splitting around a compact region tends to produce a live range with a high spill weight, so it may evict a less dense live range. llvm-svn: 135845
-
Jakob Stoklund Olesen authored
This method matches addLinks - All the listed blocks are considered to have interference, so they add a negative bias to their bundles. This could also be done by addConstraints, but that requires building a separate BlockConstraint array. llvm-svn: 135844
-
Jakob Stoklund Olesen authored
They always report 'no interference'. llvm-svn: 135843
-
Evan Cheng authored
llvm-svn: 135833
-
- Jul 22, 2011
-
-
Jay Foad authored
ConstantExpr::getGetElementPtr to use ArrayRef. llvm-svn: 135762
-
Jay Foad authored
ArrayRef. llvm-svn: 135761
-
Jakub Staszak authored
llvm-svn: 135742
-
Jakub Staszak authored
llvm-svn: 135738
-
Jakub Staszak authored
llvm-svn: 135734
-
Jakub Staszak authored
llvm-svn: 135724
-
Jakub Staszak authored
llvm-svn: 135714
-
- Jul 21, 2011
-
-
Devang Patel authored
llvm-svn: 135633
-
Devang Patel authored
There are two ways to map a variable to its lexical scope. Lexical scope information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode. llvm-svn: 135629
-
- Jul 20, 2011
-
-
Devang Patel authored
While emitting constant value, look through derived type and use underlying basic type to determine size and signness of the constant value. llvm-svn: 135627
-
Evan Cheng authored
There is still a bit more refactoring left to do in Targets. But we are now very close to fixing all the layering issues in MC. llvm-svn: 135611
-
Eli Friedman authored
llvm-svn: 135595
-
Evan Cheng authored
- Introduce JITDefault code model. This tells targets to set different default code model for JIT. This eliminates the ugly hack in TargetMachine where code model is changed after construction. llvm-svn: 135580
-
Evan Cheng authored
TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! llvm-svn: 135569
-
Evan Cheng authored
llvm-svn: 135535
-
Devang Patel authored
llvm-svn: 135528
-
- Jul 19, 2011
-
-
Jay Foad authored
llvm-svn: 135478
-
Evan Cheng authored
(including compilation, assembly). Move relocation model Reloc::Model from TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine. llvm-svn: 135468
-
Devang Patel authored
Revert r135423. llvm-svn: 135454
-
Bill Wendling authored
llvm-svn: 135450
-
Bill Wendling authored
llvm-svn: 135448
-
Bill Wendling authored
library. llvm-svn: 135443
-
Evan Cheng authored
better location welcome). llvm-svn: 135438
-
- Jul 18, 2011
-
-
Jeffrey Yasskin authored
errors like the one corrected by r135261. Migrate all LLVM callers of the old constructor to the new one. llvm-svn: 135431
-
Evan Cheng authored
to MCRegisterInfo. Also initialize the mapping at construction time. This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step towards fixing the layering violation. llvm-svn: 135424
-
Devang Patel authored
During bottom up fast-isel, instructions emitted to materalize registers are at top of basic block and do not have debug location. This may misguide debugger while entering the basic block and sometimes debugger provides semi useful view of current location to developer by picking up previous known location as current location. Assign a sensible location to the first instruction in a basic block, if it does not have one location derived from source file, so that debugger can provide meaningful user experience to developers in edge cases. [take 2] llvm-svn: 135423
-
Jakob Stoklund Olesen authored
When splitting a live range immediately before an LDR_POST instruction that redefines the address register, make sure to use the correct value number in leaveIntvBefore. We need the value number entering the instruction. <rdar://problem/9793765> llvm-svn: 135413
-
Frits van Bommel authored
Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previously explicit non-default constructors were used. Mostly mechanical with some manual reformatting. llvm-svn: 135390
-
Jakob Stoklund Olesen authored
When trying to rematerialize a value before an instruction that has an early-clobber redefine of the virtual register, make sure to look up the correct value number. Early-clobber defs are moved one slot back, so getBaseIndex is needed to find the used value number. Bugpoint was unable to reduce the test case for this, see PR10388. llvm-svn: 135378
-
Chris Lattner authored
llvm-svn: 135375
-
- Jul 17, 2011
-
-
Nadav Rotem authored
llvm-svn: 135362
-
- Jul 16, 2011
-
-
Jakub Staszak authored
llvm-svn: 135354
-
Jakub Staszak authored
llvm-svn: 135352
-
Matt Beaumont-Gay authored
llvm-svn: 135339
-
Jakob Stoklund Olesen authored
This should unbreak the build-self-4-mingw32 tester. I have a very complicated test case that I will try to clean up. llvm-svn: 135329
-