129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
}
template< typename T >
optional< Z3Val > BuildZ3Op( Builder& b, const T& instr )
{
return nullopt;
}
// Implemented in call.cpp
extern optional< Z3Val > BuildZ3Op( Builder& b, const Call& instr );
optional< Z3Val > BuildZ3Op( Builder& b, const CreateTemporary& instr )
{
b.setVar( instr.index(), instr.value() );
|
>
>
>
>
>
>
>
|
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
}
template< typename T >
optional< Z3Val > BuildZ3Op( Builder& b, const T& instr )
{
return nullopt;
}
optional< Z3Val > BuildZ3Op( Builder& b, const Load& instr )
{
return LoadFromPointer( b, instr.ptr(), instr.type() );
}
// TODO: implement store.
// Implemented in call.cpp
extern optional< Z3Val > BuildZ3Op( Builder& b, const Call& instr );
optional< Z3Val > BuildZ3Op( Builder& b, const CreateTemporary& instr )
{
b.setVar( instr.index(), instr.value() );
|