- May 01, 2009
-
-
Argyrios Kyrtzidis authored
Don't include memory allocated for global variables during relocations resolution. llvm-svn: 70517
-
- Apr 30, 2009
-
-
Jakob Stoklund Olesen authored
llvm-svn: 70513
-
Jakob Stoklund Olesen authored
classes. This is implemented as a function rather than a method on TargetRegisterClass because it is symmetric in its arguments. llvm-svn: 70512
-
Dan Gohman authored
llvm-svn: 70510
-
Dan Gohman authored
compute an upper-bound value for the trip count, in addition to the actual trip count. Use this to allow getZeroExtendExpr and getSignExtendExpr to fold casts in more cases. This may eventually morph into a more general value-range analysis capability; there are certainly plenty of places where more complete value-range information would allow more folding. llvm-svn: 70509
-
Evan Cheng authored
Add a smarter heuristic to determine when to coalesce a virtual register with a physical one. More specifically, it avoid tying a virtual register in the loop with a physical register defined / used outside the loop. When it determines it's not profitable, it will use the physical register as the allocation preference instead. This is *not* turned on by default. Testing indicates this is just as likely to pessimize code. The main issue seems to be allocation preference doesn't work effectively. That will change once I've taught register allocator "swapping". llvm-svn: 70503
-
Dan Gohman authored
in getSCEVAtScope. llvm-svn: 70495
-
Jay Foad authored
class. llvm-svn: 70488
-
Dan Gohman authored
llvm-svn: 70466
-
Dan Gohman authored
a SCEVable type, not just integer types. llvm-svn: 70463
-
Evan Cheng authored
llvm-svn: 70461
-
Chris Lattner authored
memory operands otherwise the writebacks get lost when the inline asm doesn't otherwise have side effects. This fixes rdar://6839427, though clang really shouldn't generate these anymore. llvm-svn: 70455
-
Bill Wendling authored
llvm-svn: 70454
-
Chris Lattner authored
llvm-svn: 70453
-
Bill Wendling authored
which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440
-
Bill Wendling authored
llvm-svn: 70437
-
Dale Johannesen authored
llvm-svn: 70427
-
Nate Begeman authored
llvm-svn: 70425
-
Dan Gohman authored
llvm-svn: 70422
-
Dan Gohman authored
(sext i8 {-128,+,1} to i64) to i64 {-128,+,1}, where the iteration crosses from negative to positive, but is still safe if the trip count is within range. llvm-svn: 70421
-
Dan Gohman authored
llvm-svn: 70416
-
- Apr 29, 2009
-
-
Jakob Stoklund Olesen authored
llvm-svn: 70408
-
Dan Gohman authored
print sext, zext, and trunc, instead of signextend, zeroextend, and truncate, respectively, for consistency with the main IR. llvm-svn: 70405
-
Nate Begeman authored
llvm-svn: 70391
-
Dale Johannesen authored
llvm-svn: 70386
-
Evan Cheng authored
spillPhysRegAroundRegDefsUses() may have invalidated iterators stored in fixed_ IntervalPtrs. Reset them. llvm-svn: 70378
-
Nate Begeman authored
llvm-svn: 70372
-
Sanjiv Gupta authored
llvm-svn: 70366
-
Chris Lattner authored
anything larger than 64-bits, avoiding a crash. This should really be fixed to use APInts, though type legalization happens to help us out and we get good code on the attached testcase at least. This fixes rdar://6836460 llvm-svn: 70360
-
Dan Gohman authored
llvm-svn: 70357
-
Evan Cheng authored
Determine allocation 'preference' with right register class. I haven't seen this changing codegen so no test case. llvm-svn: 70351
-
Bill Wendling authored
an optimization level instead of a simple boolean telling it to generate code "fast" or the other type of "fast". llvm-svn: 70347
-
Bill Wendling authored
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. llvm-svn: 70343
-
- Apr 28, 2009
-
-
Anton Korobeynikov authored
This should fix PR3379 and PR4064. Patch inspired by Edwin Török! llvm-svn: 70328
-
Evan Cheng authored
llvm-svn: 70309
-
Sanjiv Gupta authored
llvm-svn: 70300
-
Stefanus Du Toit authored
Fix choice of version of Windows callback to use to consider not only the Visual Studio version, but also the Windows SDK version. Patch by Tareq Siraj. llvm-svn: 70299
-
Jakob Stoklund Olesen authored
If the physical register does not belong to the virtual register's regclass, don't coalesce. The physical register could be an invalid operand for an instruction using the vreg. The regclass matching is done after determining the actual subregisters being copied. llvm-svn: 70298
-
Sanjiv Gupta authored
llvm-svn: 70297
-
Jakob Stoklund Olesen authored
Also make the method non-asserting. It will return NULL when given an invalid subreg index. The method is needed by an upcoming patch. llvm-svn: 70296
-