projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Correctly handle a one-word struct passed byval on x86_64.
[oota-llvm.git]
/
lib
/
Target
/
X86
/
SSEDomainFix.cpp
diff --git
a/lib/Target/X86/SSEDomainFix.cpp
b/lib/Target/X86/SSEDomainFix.cpp
index b5892602fb4b208d2eaec2cb86c88b187102617c..13680c592e01b274dbfca95729fa68147ba43598 100644
(file)
--- a/
lib/Target/X86/SSEDomainFix.cpp
+++ b/
lib/Target/X86/SSEDomainFix.cpp
@@
-115,7
+115,7
@@
class SSEDomainFixPass : public MachineFunctionPass {
unsigned Distance;
public:
unsigned Distance;
public:
- SSEDomainFixPass() : MachineFunctionPass(
&
ID) {}
+ SSEDomainFixPass() : MachineFunctionPass(ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
@@
-155,11
+155,9
@@
char SSEDomainFixPass::ID = 0;
/// Translate TRI register number to an index into our smaller tables of
/// interesting registers. Return -1 for boring registers.
int SSEDomainFixPass::RegIndex(unsigned reg) {
/// Translate TRI register number to an index into our smaller tables of
/// interesting registers. Return -1 for boring registers.
int SSEDomainFixPass::RegIndex(unsigned reg) {
- // Registers are sorted lexicographically.
- // We just need them to be consecutive, ordering doesn't matter.
- assert(X86::XMM9 == X86::XMM0+NumRegs-1 && "Unexpected sort");
+ assert(X86::XMM15 == X86::XMM0+NumRegs-1 && "Unexpected sort");
reg -= X86::XMM0;
reg -= X86::XMM0;
- return reg < NumRegs ? reg : -1;
+ return reg < NumRegs ?
(int)
reg : -1;
}
DomainValue *SSEDomainFixPass::Alloc(int domain) {
}
DomainValue *SSEDomainFixPass::Alloc(int domain) {
@@
-270,7
+268,7
@@
bool SSEDomainFixPass::Merge(DomainValue *A, DomainValue *B) {
void SSEDomainFixPass::enterBasicBlock() {
// Try to coalesce live-out registers from predecessors.
void SSEDomainFixPass::enterBasicBlock() {
// Try to coalesce live-out registers from predecessors.
- for (MachineBasicBlock::
const_
livein_iterator i = MBB->livein_begin(),
+ for (MachineBasicBlock::livein_iterator i = MBB->livein_begin(),
e = MBB->livein_end(); i != e; ++i) {
int rx = RegIndex(*i);
if (rx < 0) continue;
e = MBB->livein_end(); i != e; ++i) {
int rx = RegIndex(*i);
if (rx < 0) continue;