- Aug 08, 2010
-
-
Nick Lewycky authored
llvm-svn: 110543
-
Nick Lewycky authored
llvm-svn: 110541
-
Bill Wendling authored
relatively expensive comparison analyzer on each instruction. Also rename the comparison analyzer method to something more in line with what it actually does. This pass is will eventually be folded into the Machine CSE pass. llvm-svn: 110539
-
Nick Lewycky authored
llvm-svn: 110538
-
Eric Christopher authored
llvm-svn: 110527
-
- Aug 07, 2010
-
-
Benjamin Kramer authored
llvm-svn: 110518
-
Benjamin Kramer authored
llvm-svn: 110516
-
Owen Anderson authored
llvm-svn: 110505
-
Owen Anderson authored
llvm-svn: 110504
-
Dan Gohman authored
llvm-svn: 110499
-
Dan Gohman authored
llvm-svn: 110496
-
Dan Gohman authored
out of PassManager.cpp and into Core.cpp with the rest of the C binding code. llvm-svn: 110494
-
Owen Anderson authored
llvm-svn: 110493
-
Dale Johannesen authored
form of CMPSD (etc.) Matching a 128-bit memory operand is wrong, the instruction uses only 64 bits (same as ADDSD etc.) 8193553. llvm-svn: 110491
-
Owen Anderson authored
llvm-svn: 110489
-
Jakob Stoklund Olesen authored
necessary. Sometimes, live range splitting doesn't shrink the current interval, but simply changes some instructions to use a new interval. That makes the original more suitable for spilling. In this case, we don't need to duplicate the original. llvm-svn: 110481
-
Bruno Cardoso Lopes authored
llvm-svn: 110480
-
- Aug 06, 2010
-
-
Dan Gohman authored
instead, as an example of what this looks like. llvm-svn: 110478
-
Bruno Cardoso Lopes authored
llvm-svn: 110468
-
Jim Grosbach authored
llvm-svn: 110466
-
Jim Grosbach authored
implementation of the function is equivalent, so no need to provide the target-specific version until/unless it needs to do something. llvm-svn: 110465
-
Jakob Stoklund Olesen authored
llvm-svn: 110464
-
Jakob Stoklund Olesen authored
After heavy editing of a live interval, it is much easier to simply renumber the live values instead of trying to keep track of the unused ones. llvm-svn: 110463
-
Owen Anderson authored
llvm-svn: 110460
-
Dan Gohman authored
llvm-svn: 110458
-
Dan Gohman authored
llvm-svn: 110456
-
Dan Gohman authored
llvm-svn: 110455
-
Jakob Stoklund Olesen authored
llvm-svn: 110454
-
Jakob Stoklund Olesen authored
llvm-svn: 110453
-
Jakob Stoklund Olesen authored
When a physical register is in use, some alias of that register has a live interval with a relevant live range. That is the sad state of intervals after physreg coalescing of subregs, and it is good enough for correct register allocation. llvm-svn: 110452
-
Rafael Espindola authored
Without this what was happening was: * R3 is not marked as "used" * ARM backend thinks it has to save it to the stack because of vaarg * Offset computation correctly ignores it * Offsets are wrong llvm-svn: 110446
-
Nick Lewycky authored
Also move 'default' case next to a real case to help compiler optimize in non-Debug builds. No functionality change. llvm-svn: 110435
-
Nick Lewycky authored
Further clean up the comparison function by removing overly generalized "domains". Remove all understanding of ELF aliases and simplify folding code and comments. llvm-svn: 110434
-
Ted Kremenek authored
llvm-svn: 110429
-
Bruno Cardoso Lopes authored
llvm-svn: 110427
-
Bruno Cardoso Lopes authored
llvm-svn: 110425
-
Bill Wendling authored
This pass tries to remove comparison instructions when possible. For instance, if you have this code: sub r1, 1 cmp r1, 0 bz L1 and "sub" either sets the same flag as the "cmp" instruction or could be converted to set the same flag, then we can eliminate the "cmp" instruction all together. This is a important for ARM where the ALU instructions could set the CPSR flag, but need a special suffix ('s') to do so. llvm-svn: 110423
-
Dan Gohman authored
AliasAnalysis base class and into BasicAliasAnalyais. This avoids confusion about where such logic is happening when there are other AliasAnalysis implementations present. Move the logic for translating two-callsite getModRefInfo queries into other AliasAnalysis queries out of BasicAliasAnalysis and into the AliasAnalysis base class, as it is useful for other AliasAnalysis implementations. llvm-svn: 110421
-
Owen Anderson authored
llvm-svn: 110416
-
Devang Patel authored
While emitting DBG_VALUE for registers spilled at the end of a block do not use location of MBB->end(). If a block does not have terminator then incoming iterator points to end(). llvm-svn: 110411
-