forked from OSchip/llvm-project
parent
071a5e5649
commit
699aa70f0c
|
@ -1267,18 +1267,18 @@ void ISel::LowerUnknownIntrinsicFunctionCalls(Function &F) {
|
||||||
void ISel::visitIntrinsicCall(Intrinsic::ID ID, CallInst &CI) {
|
void ISel::visitIntrinsicCall(Intrinsic::ID ID, CallInst &CI) {
|
||||||
unsigned TmpReg1, TmpReg2;
|
unsigned TmpReg1, TmpReg2;
|
||||||
switch (ID) {
|
switch (ID) {
|
||||||
case Intrinsic::va_start:
|
case Intrinsic::vastart:
|
||||||
// Get the address of the first vararg value...
|
// Get the address of the first vararg value...
|
||||||
TmpReg1 = getReg(CI);
|
TmpReg1 = getReg(CI);
|
||||||
addFrameReference(BuildMI(BB, X86::LEA32r, 5, TmpReg1), VarArgsFrameIndex);
|
addFrameReference(BuildMI(BB, X86::LEA32r, 5, TmpReg1), VarArgsFrameIndex);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Intrinsic::va_copy:
|
case Intrinsic::vacopy:
|
||||||
TmpReg1 = getReg(CI);
|
TmpReg1 = getReg(CI);
|
||||||
TmpReg2 = getReg(CI.getOperand(1));
|
TmpReg2 = getReg(CI.getOperand(1));
|
||||||
BuildMI(BB, X86::MOV32rr, 1, TmpReg1).addReg(TmpReg2);
|
BuildMI(BB, X86::MOV32rr, 1, TmpReg1).addReg(TmpReg2);
|
||||||
return;
|
return;
|
||||||
case Intrinsic::va_end: return; // Noop on X86
|
case Intrinsic::vaend: return; // Noop on X86
|
||||||
|
|
||||||
case Intrinsic::returnaddress:
|
case Intrinsic::returnaddress:
|
||||||
case Intrinsic::frameaddress:
|
case Intrinsic::frameaddress:
|
||||||
|
|
Loading…
Reference in New Issue