mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Add recognition and verification of new llvm.stacksave/llvm.stackrestore intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25266 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -796,6 +796,18 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
|
||||
case Intrinsic::memmove: NumArgs = 4; break;
|
||||
case Intrinsic::memset: NumArgs = 4; break;
|
||||
|
||||
case Intrinsic::stacksave:
|
||||
NumArgs = 0;
|
||||
Assert1(CI.getType() == PointerType::get(Type::SByteTy),
|
||||
"llvm.stacksave must return an sbyte*", &CI);
|
||||
break;
|
||||
case Intrinsic::stackrestore:
|
||||
NumArgs = 1;
|
||||
Assert1(CI.getOperand(1)->getType() == PointerType::get(Type::SByteTy),
|
||||
"llvm.stackrestore must take an sbyte*", &CI);
|
||||
Assert1(CI.getType() == Type::VoidTy,
|
||||
"llvm.stackrestore return void", &CI);
|
||||
break;
|
||||
case Intrinsic::prefetch: NumArgs = 3; break;
|
||||
case Intrinsic::pcmarker:
|
||||
NumArgs = 1;
|
||||
|
Reference in New Issue
Block a user