- Jul 21, 2010
-
-
Lang Hames authored
Changed OStream templates to functions on raw_ostream, removed the unused "renderWarnings" function. llvm-svn: 109003
-
Evan Cheng authored
llvm-svn: 108991
-
Jakob Stoklund Olesen authored
The spillers can pluck the analyses they need from the pass reference. Switch some never-null pointers to references. llvm-svn: 108969
-
- Jul 20, 2010
-
-
Jakob Stoklund Olesen authored
Determine which loop exit blocks need a 'pre-exit' block inserted. Recognize when this would be impossible. llvm-svn: 108941
-
Dale Johannesen authored
threshold a bit per experimentation. llvm-svn: 108935
-
Jakob Stoklund Olesen authored
llvm-svn: 108845
-
Jakob Stoklund Olesen authored
This is a work in progress. So far we have some basic loop analysis to help determine where it is useful to split a live range around a loop. The actual loop splitting code from Splitter.cpp is also going to move in here. llvm-svn: 108842
-
Lang Hames authored
llvm-svn: 108839
-
Lang Hames authored
llvm-svn: 108824
-
Lang Hames authored
and interval table. Reduces output HTML file sizes by ~80% in my test cases. Also fix access of private member type by << operator. llvm-svn: 108823
-
Lang Hames authored
Reduces output file size ~20% on my test cases. llvm-svn: 108822
-
Lang Hames authored
Updated renderer to use allocation information from VirtRegMap (if available) to render spilled intervals differently. llvm-svn: 108815
-
Dale Johannesen authored
loop, for the reasons in the comments. This is a major win on 253.perlbmk on ARM Darwin. I expect it to be a good heuristic in general, but it's possible some things will regress; I'll be watching. 7940152. llvm-svn: 108792
-
Stuart Hastings authored
llvm-svn: 108784
-
Devang Patel authored
Do not visit operands of old instruction. Visit all operands of new instruction. llvm-svn: 108767
-
Dan Gohman authored
update the current basic block in addition to the current insert position, so that they remain consistent. This fixes rdar://8204072. llvm-svn: 108765
-
Evan Cheng authored
ARM has to provide its own TargetLowering::findRepresentativeClass because its scalar floating point registers alias its vector registers. llvm-svn: 108761
-
- Jul 19, 2010
-
-
Evan Cheng authored
Teach computeRegisterProperties() to compute "representative" register class for legal value types. A "representative" register class is the largest legal super-reg register class for a value type. e.g. On i386, GR32 is the rep register class for i8 / i16 / i32; on x86_64 it would be GR64. This property will be used by the register pressure tracking instruction scheduler. llvm-svn: 108735
-
Jakob Stoklund Olesen authored
non-const. llvm-svn: 108734
-
Devang Patel authored
Do not try to insert local variable info to a DIE used for function declaration. llvm-svn: 108731
-
Benjamin Kramer authored
llvm-svn: 108700
-
Lang Hames authored
pressure estimates and liveness alongside. Still experimental. llvm-svn: 108698
-
Owen Anderson authored
llvm-svn: 108688
-
Daniel Dunbar authored
- Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this. llvm-svn: 108664
-
- Jul 18, 2010
-
-
Daniel Dunbar authored
llvm-svn: 108645
-
Douglas Gregor authored
llvm-svn: 108642
-
Owen Anderson authored
Add a DAGCombine xform to fold away redundant float->double->float conversions around sqrt instructions. I am assured by people more knowledgeable than me that there are no rounding issues in eliminating this. This fixed <rdar://problem/8197504>. llvm-svn: 108639
-
Lang Hames authored
LoopSplitter be run prior to register allocation. Entirely for testing purposes at the moment. llvm-svn: 108634
-
- Jul 17, 2010
-
-
Bill Wendling authored
llvm-svn: 108628
-
Zhongxing Xu authored
llvm-svn: 108620
-
Lang Hames authored
llvm-svn: 108618
-
Lang Hames authored
Still very much under development. Comments and fixes will be forthcoming. (This commit includes some small tweaks to LiveIntervals & LoopInfo to support the splitter) llvm-svn: 108615
-
Lang Hames authored
any command line paramater changed the register allocation produced by PBQP. Turns out variety is not the spice of life. Fixed some comparators, added others. All good now. llvm-svn: 108613
-
Eric Christopher authored
information. No functional change yet. llvm-svn: 108583
-
Bill Wendling authored
void foo() { __builtin_unreachable(); } It will output the following on Darwin X86: _func1: Leh_func_begin0: pushq %rbp Ltmp0: movq %rsp, %rbp Ltmp1: Leh_func_end0: This prolog adds a new Call Frame Information (CFI) row to the FDE with an address that is not within the address range of the code it describes -- part is equal to the end of the function -- and therefore results in an invalid EH frame. If we emit a nop in this situation, then the CFI row is now within the address range. llvm-svn: 108568
-
Bill Wendling authored
thus is a much more meaningful name. llvm-svn: 108563
-
- Jul 16, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 108556
-
Dan Gohman authored
since it doesn't work for front-ends which don't emit column information (which includes llvm-gcc in its present configuration), and doesn't work for clang for K&R style variables where the variables are declared in a different order from the parameter list. Instead, make a separate pass through the instructions to collect the llvm.dbg.declare instructions in order. This ensures that the debug information for variables is emitted in this order. llvm-svn: 108538
-
Eli Friedman authored
llvm-svn: 108520
-
Jakob Stoklund Olesen authored
TII::isMoveInstr is going tobe completely removed. llvm-svn: 108507
-