mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Force memory use markers to have a ConstantInt for the size argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83960 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5c9be67cff
commit
321333e51e
@ -7018,8 +7018,9 @@ LLVM</a>.</p>
|
||||
object's lifetime.</p>
|
||||
|
||||
<h5>Arguments:</h5>
|
||||
<p>The first argument is a the size of the object, or -1 if it is variable
|
||||
sized. The second argument is a pointer to the object.</p>
|
||||
<p>The first argument is a constant integer representing the size of the
|
||||
object, or -1 if it is variable sized. The second argument is a pointer to
|
||||
the object.</p>
|
||||
|
||||
<h5>Semantics:</h5>
|
||||
<p>This intrinsic indicates that before this point in the code, the value of the
|
||||
@ -7047,8 +7048,9 @@ LLVM</a>.</p>
|
||||
object's lifetime.</p>
|
||||
|
||||
<h5>Arguments:</h5>
|
||||
<p>The first argument is a the size of the object, or -1 if it is variable
|
||||
sized. The second argument is a pointer to the object.</p>
|
||||
<p>The first argument is a constant integer representing the size of the
|
||||
object, or -1 if it is variable sized. The second argument is a pointer to
|
||||
the object.</p>
|
||||
|
||||
<h5>Semantics:</h5>
|
||||
<p>This intrinsic indicates that after this point in the code, the value of the
|
||||
@ -7075,8 +7077,9 @@ LLVM</a>.</p>
|
||||
a memory object will not change.</p>
|
||||
|
||||
<h5>Arguments:</h5>
|
||||
<p>The first argument is a the size of the object, or -1 if it is variable
|
||||
sized. The second argument is a pointer to the object.</p>
|
||||
<p>The first argument is a constant integer representing the size of the
|
||||
object, or -1 if it is variable sized. The second argument is a pointer to
|
||||
the object.</p>
|
||||
|
||||
<h5>Semantics:</h5>
|
||||
<p>This intrinsic indicates that until an <tt>llvm.invariant.end</tt> that uses
|
||||
@ -7103,8 +7106,9 @@ LLVM</a>.</p>
|
||||
|
||||
<h5>Arguments:</h5>
|
||||
<p>The first argument is the matching <tt>llvm.invariant.start</tt> intrinsic.
|
||||
The second argument is a the size of the object, or -1 if it is variable
|
||||
sized and the third argument is a pointer to the object.</p>
|
||||
The second argument is a constant integer representing the size of the
|
||||
object, or -1 if it is variable sized and the third argument is a pointer
|
||||
to the object.</p>
|
||||
|
||||
<h5>Semantics:</h5>
|
||||
<p>This intrinsic indicates that the memory is mutable again.</p>
|
||||
|
@ -1578,6 +1578,17 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
|
||||
"llvm.stackprotector parameter #2 must resolve to an alloca.",
|
||||
&CI);
|
||||
break;
|
||||
case Intrinsic::lifetime_start:
|
||||
case Intrinsic::lifetime_end:
|
||||
case Intrinsic::invariant_start:
|
||||
Assert1(isa<ConstantInt>(CI.getOperand(1)),
|
||||
"size argument of memory use markers must be a constant integer",
|
||||
&CI);
|
||||
break;
|
||||
case Intrinsic::invariant_end:
|
||||
Assert1(isa<ConstantInt>(CI.getOperand(2)),
|
||||
"llvm.invariant.end parameter #2 must be a constant integer", &CI);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user