- Nov 20, 2009
-
-
Dan Gohman authored
careful about crazy methods of capturing pointers using comparisons. Comparisons of identified objects with null in the default address space are not captures. And, comparisons of two pointers within the same identified object are not captures. llvm-svn: 89421
-
Dan Gohman authored
llvm-svn: 89419
-
Bill Wendling authored
llvm-svn: 89418
-
Bill Wendling authored
llvm-svn: 89417
-
Eric Christopher authored
llvm-svn: 89414
-
Dan Gohman authored
llvm-svn: 89411
-
Jeffrey Yasskin authored
llvm-svn: 89410
-
Oscar Fuentes authored
Patch by Tobias Grosser! llvm-svn: 89406
-
David Goodwin authored
llvm-svn: 89404
-
Jim Grosbach authored
assembly can confuse things utterly, as it's assumed that instructions in inline assembly are 4 bytes wide. For Thumb mode, that's often not true, so the calculations for when alignment padding will be present get thrown off, ultimately leading to out of range constant pool entry references. Making more conservative assumptions that padding may be necessary when inline asm is present avoids this situation. llvm-svn: 89403
-
- Nov 19, 2009
-
-
Dan Gohman authored
if it is not ultimately captured. Teach BasicAliasAnalysis that a local object address which does not escape and is never stored does not alias with a value resulting from a load. llvm-svn: 89398
-
Evan Cheng authored
llvm-svn: 89396
-
Dan Gohman authored
llvm-svn: 89389
-
Duncan Sands authored
fixes PR5395. llvm-svn: 89385
-
Jakob Stoklund Olesen authored
critical edges in PHIElimination. This has a huge impact on regalloc performance, and we recover almost all of the 10% compile time regression that edge splitting introduced. llvm-svn: 89381
-
Bill Wendling authored
$ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89279 into '.': U lib/CodeGen/AsmPrinter/DwarfException.cpp U lib/Target/TargetLoweringObjectFile.cpp $ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89270 into '.': G lib/CodeGen/AsmPrinter/DwarfException.cpp G lib/Target/TargetLoweringObjectFile.cpp llvm-svn: 89379
-
Johnny Chen authored
fully specified at this level. Subclasses of NLdStLN can specify selective bit(s) for Inst{7-4}, as is done for VLD[234]LN* and VST[234]LN* inside ARMInstrNEON.td. llvm-svn: 89377
-
David Greene authored
Fix a small bug. Fix one case we missed to make sure we reserve registers from allocation. llvm-svn: 89376
-
Dan Gohman authored
they are lowered to instruction sequences more complex than a simple load, such that CodeGen cannot rematerialize them, a reload from a spill slot is likely to be cheaper than the complex sequence. llvm-svn: 89374
-
Daniel Dunbar authored
llvm-svn: 89372
-
Jim Grosbach authored
llvm-svn: 89369
-
Daniel Dunbar authored
everything else. llvm-svn: 89368
-
Mikhail Glushenkov authored
llvm-svn: 89364
-
Mikhail Glushenkov authored
llvm-svn: 89363
-
Dan Gohman authored
llvm-svn: 89360
-
Benjamin Kramer authored
llvm-svn: 89359
-
Benjamin Kramer authored
llvm-svn: 89357
-
David Greene authored
Add support for spreading register allocation. Add a -linearscan-skip-count argument (default to 0) that tells the allocator to remember the last N registers it allocated and skip them when looking for a register candidate. This tends to spread out register usage and free up post-allocation scheduling at the cost of slightly more register pressure. The primary benefit is the ability to backschedule reloads. This is turned off by default. llvm-svn: 89356
-
Benjamin Kramer authored
llvm-svn: 89354
-
Torok Edwin authored
4.2.4, 4.3.4, 4.4.2. The workaround is to use a local min/max implementation that takes an integer param, and not a reference to integer param (like std::min does). llvm-svn: 89352
-
Benjamin Kramer authored
llvm-svn: 89341
-
Edward O'Callaghan authored
llvm-svn: 89339
-
Evan Cheng authored
llvm-svn: 89337
-
Daniel Dunbar authored
llvm-svn: 89329
-
Evan Cheng authored
llvm-svn: 89328
-
Evan Cheng authored
llvm-svn: 89326
-
Evan Cheng authored
llvm-svn: 89325
-
Bruno Cardoso Lopes authored
- Support mips1 like load/store of doubles: Instead of: sdc $f0, X($3) Generate: swc $f0, X($3) swc $f1, X+4($3) llvm-svn: 89322
-
Bruno Cardoso Lopes authored
llvm-svn: 89316
-
Lang Hames authored
All spiller calls in RegAllocLinearScan now go through the new Spiller interface. The "-new-spill-framework" command line option has been removed. To use the trivial in-place spiller you should now pass "-spiller=trivial -rewriter=trivial". (Note the trivial spiller/rewriter are only meant to serve as examples of the new in-place modification work. Enabling them will yield terrible, though hopefully functional, code). llvm-svn: 89311
-