| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 11285
|
|
|
|
| |
llvm-svn: 11283
|
|
|
|
| |
llvm-svn: 11278
|
|
|
|
|
|
| |
speeds up livevar from .48/.32s -> .45/.31s in LLC on perlbmk
llvm-svn: 11217
|
|
|
|
|
|
|
| |
This speeds up live variables a lot, from .60/.39s -> .47/.26s in LLC, for
the first/second pass respectively.
llvm-svn: 11216
|
|
|
|
|
|
| |
method
llvm-svn: 11037
|
|
|
|
|
|
| |
Implement LiveVariables::getIndexMachineBasicBlock
llvm-svn: 11018
|
|
|
|
|
|
| |
of a physical register is always dominated by a def).
llvm-svn: 10821
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when an implicitely defined register is later used by an alias. For example:
call foo
%reg1024 = mov %AL
The call implicitely defines EAX but only AL is used. Before this fix
no information was available on AL. Now EAX and all its aliases except
AL get defined and die at the call instruction whereas AL lives to be
killed by the assignment.
llvm-svn: 10813
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
b) add isUse(), isDef()
c) rename opHiBits32() to isHiBits32(),
opLoBits32() to isLoBits32(),
opHiBits64() to isHiBits64(),
opLoBits64() to isLoBits64().
This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.
llvm-svn: 10461
|
|
|
|
| |
llvm-svn: 10444
|
|
|
|
| |
llvm-svn: 9903
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and TargetInstrDescriptor::ImplicitUses to always point to a null
terminated array and never be null. So there is no need to check for
pointer validity when iterating over those sets. Code that looked
like:
if (const unsigned* AS = TID.ImplicitDefs) {
for (int i = 0; AS[i]; ++i) {
// use AS[i]
}
}
was changed to:
for (const unsigned* AS = TID.ImplicitDefs; *AS; ++AS) {
// use *AS
}
llvm-svn: 8960
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed spilling of %fcc[0-3] which are part of %fsr.
(2) Moved some machine-independent reg-class code to class TargetRegInfo
from SparcReg{Class,}Info.
(3) Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
and related functions and flags. Fixed several bugs where only
"isDef" was being checked, not "isDefAndUse".
llvm-svn: 6341
|
|
|
|
|
|
|
| |
* Change getVarInfo to take real virtual register numbers and offset them
itself. This has caused me so much grief, it's not even funny.
llvm-svn: 6115
|
|
|
|
| |
llvm-svn: 6015
|
|
|
|
| |
llvm-svn: 6012
|
|
|
|
| |
llvm-svn: 6011
|
|
|
|
| |
llvm-svn: 5976
|
|
|
|
| |
llvm-svn: 5272
|
|
llvm-svn: 5262
|