Differences From Artifact [5ee2cdefc6]:
- File bs/cir/instruction.h — part of check-in [32f94cd2e1] at 2023-08-02 21:46:53 on branch trunk — Implemented forall statement (user: zlodo size: 6290)
To Artifact [d64ef01955]:
- File
bs/cir/instruction.h
— part of check-in
[83971c96a4]
at
2023-08-27 22:30:05
on branch trunk
—
- Added "CallCheck" CIR instruction to request the verifier to check a bunch of func params like it was a real call
- Used the above to verify the arguments passed to ghost funcs
| ︙ | ︙ | |||
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
{
public:
Instruction() {}
Instruction( Call&& c ) :
m_content( move( c ) )
{}
Instruction( VarAddr&& vad ) :
m_content( move( vad ) )
{}
Instruction( TempAddr&& tad ) :
m_content( move( tad ) )
| > > > > | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
{
public:
Instruction() {}
Instruction( Call&& c ) :
m_content( move( c ) )
{}
Instruction( CallCheck&& c ) :
m_content( move( c ) )
{}
Instruction( VarAddr&& vad ) :
m_content( move( vad ) )
{}
Instruction( TempAddr&& tad ) :
m_content( move( tad ) )
|
| ︙ | ︙ | |||
195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
{}
using Content = variant
<
monostate,
Call,
VarAddr,
TempAddr,
Select,
PushConstant,
CreateTemporary,
| > | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
{}
using Content = variant
<
monostate,
Call,
CallCheck,
VarAddr,
TempAddr,
Select,
PushConstant,
CreateTemporary,
|
| ︙ | ︙ |