mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 18:33:22 +00:00
Don't attempt to upgrade argument to va.start and va.end if there are none.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33171 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b3258a3c0f
commit
2b21761556
@ -1888,11 +1888,13 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
|
||||
} else {
|
||||
static unsigned upgradeCount = 1;
|
||||
if (*$4.val == "%llvm.va_start" || *$4.val == "%llvm.va_end") {
|
||||
std::string name("%va_upgrade");
|
||||
name += llvm::utostr(upgradeCount++);
|
||||
$1->insert(0, name + " = bitcast " + *(*$6)[0].val + " to i8*\n ");
|
||||
*(*$6)[0].val = "i8* " + name;
|
||||
(*$6)[0].type = TypeInfo::get("i8", UByteTy)->getPointerType();
|
||||
if (!$6->empty()) {
|
||||
std::string name("%va_upgrade");
|
||||
name += llvm::utostr(upgradeCount++);
|
||||
$1->insert(0, name + " = bitcast " + *(*$6)[0].val + " to i8*\n ");
|
||||
*(*$6)[0].val = "i8* " + name;
|
||||
(*$6)[0].type = TypeInfo::get("i8", UByteTy)->getPointerType();
|
||||
}
|
||||
} else if (*$4.val == "%llvm.va_copy") {
|
||||
std::string name0("%va_upgrade");
|
||||
name0 += llvm::utostr(upgradeCount++);
|
||||
|
Loading…
x
Reference in New Issue
Block a user