diff --git a/lib/Target/Sparc/README.txt b/lib/Target/Sparc/README.txt index bc524cb3927..0a271d39aeb 100644 --- a/lib/Target/Sparc/README.txt +++ b/lib/Target/Sparc/README.txt @@ -13,7 +13,7 @@ SingleSource/Benchmarks (excluding Shootout-C++): fldry heapsort objinst Queens chomp misr pi whetstone bigfib SingleSource/UnitTests: -C++Catch SimpleC++Test 2002-05-02-ArgumentTest 2002-05-03-NotTest +C++Catch SimpleC++Test 2002-05-02-ArgumentTest 2003-05-07-VarArgs 2003-07-09-SignedArgs 2003-08-11-VaListArg To-do diff --git a/lib/Target/Sparc/SparcV8ISelSimple.cpp b/lib/Target/Sparc/SparcV8ISelSimple.cpp index fde13bf0700..6999affa742 100644 --- a/lib/Target/Sparc/SparcV8ISelSimple.cpp +++ b/lib/Target/Sparc/SparcV8ISelSimple.cpp @@ -780,6 +780,8 @@ void V8ISel::visitCallInst(CallInst &I) { default: extraStack += 4; break; } } + // Round up extra stack size to the nearest doubleword. + if (extraStack) { extraStack = (extraStack + 7) & ~7; } // Deal with args static const unsigned OutgoingArgRegs[] = { V8::O0, V8::O1, V8::O2, V8::O3, diff --git a/lib/Target/SparcV8/README.txt b/lib/Target/SparcV8/README.txt index bc524cb3927..0a271d39aeb 100644 --- a/lib/Target/SparcV8/README.txt +++ b/lib/Target/SparcV8/README.txt @@ -13,7 +13,7 @@ SingleSource/Benchmarks (excluding Shootout-C++): fldry heapsort objinst Queens chomp misr pi whetstone bigfib SingleSource/UnitTests: -C++Catch SimpleC++Test 2002-05-02-ArgumentTest 2002-05-03-NotTest +C++Catch SimpleC++Test 2002-05-02-ArgumentTest 2003-05-07-VarArgs 2003-07-09-SignedArgs 2003-08-11-VaListArg To-do diff --git a/lib/Target/SparcV8/SparcV8ISelSimple.cpp b/lib/Target/SparcV8/SparcV8ISelSimple.cpp index fde13bf0700..6999affa742 100644 --- a/lib/Target/SparcV8/SparcV8ISelSimple.cpp +++ b/lib/Target/SparcV8/SparcV8ISelSimple.cpp @@ -780,6 +780,8 @@ void V8ISel::visitCallInst(CallInst &I) { default: extraStack += 4; break; } } + // Round up extra stack size to the nearest doubleword. + if (extraStack) { extraStack = (extraStack + 7) & ~7; } // Deal with args static const unsigned OutgoingArgRegs[] = { V8::O0, V8::O1, V8::O2, V8::O3,