mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Add support for unreachable and undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17074 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
da0a22b7ac
commit
d14d5b4223
@ -90,6 +90,7 @@ namespace {
|
||||
void visitCallInst(CallInst &I);
|
||||
void visitReturnInst(ReturnInst &I);
|
||||
void visitBranchInst(BranchInst &I);
|
||||
void visitUnreachableInst(UnreachableInst &I) {}
|
||||
void visitCastInst(CastInst &I);
|
||||
void visitLoadInst(LoadInst &I);
|
||||
void visitStoreInst(StoreInst &I);
|
||||
@ -230,6 +231,11 @@ void V8ISel::copyConstantToRegister(MachineBasicBlock *MBB,
|
||||
std::cerr << "Copying this constant expr not yet handled: " << *CE;
|
||||
abort();
|
||||
}
|
||||
} else if (isa<UndefValue>(C)) {
|
||||
BuildMI(*MBB, IP, V8::IMPLICIT_DEF, 0, R);
|
||||
if (getClassB (C->getType ()) == cLong)
|
||||
BuildMI(*MBB, IP, V8::IMPLICIT_DEF, 0, R+1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (C->getType()->isIntegral ()) {
|
||||
|
@ -90,6 +90,7 @@ namespace {
|
||||
void visitCallInst(CallInst &I);
|
||||
void visitReturnInst(ReturnInst &I);
|
||||
void visitBranchInst(BranchInst &I);
|
||||
void visitUnreachableInst(UnreachableInst &I) {}
|
||||
void visitCastInst(CastInst &I);
|
||||
void visitLoadInst(LoadInst &I);
|
||||
void visitStoreInst(StoreInst &I);
|
||||
@ -230,6 +231,11 @@ void V8ISel::copyConstantToRegister(MachineBasicBlock *MBB,
|
||||
std::cerr << "Copying this constant expr not yet handled: " << *CE;
|
||||
abort();
|
||||
}
|
||||
} else if (isa<UndefValue>(C)) {
|
||||
BuildMI(*MBB, IP, V8::IMPLICIT_DEF, 0, R);
|
||||
if (getClassB (C->getType ()) == cLong)
|
||||
BuildMI(*MBB, IP, V8::IMPLICIT_DEF, 0, R+1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (C->getType()->isIntegral ()) {
|
||||
|
Loading…
Reference in New Issue
Block a user