use of com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction in project sulong by graalvm.
the class LLVMBitcodeInstructionVisitor method visit.
@Override
public void visit(StoreInstruction store) {
final LLVMExpressionNode pointerNode = symbols.resolve(store.getDestination());
final LLVMExpressionNode valueNode = symbols.resolve(store.getSource());
Type type = store.getSource().getType();
LLVMSourceLocation source = null;
if (!(store.getSource() instanceof CallInstruction)) {
// otherwise the debugger would stop on both the call and the store of the return value
source = sourceFunction.getSourceLocation(store);
}
final LLVMExpressionNode node = nodeFactory.createStore(runtime, pointerNode, valueNode, type, source);
addInstruction(node);
}
Also used :
CallInstruction(com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction)
VoidCallInstruction(com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction)
LLVMConversionType(com.oracle.truffle.llvm.parser.instructions.LLVMConversionType)
PrimitiveType(com.oracle.truffle.llvm.runtime.types.PrimitiveType)
StructureType(com.oracle.truffle.llvm.runtime.types.StructureType)
ArrayType(com.oracle.truffle.llvm.runtime.types.ArrayType)
AggregateType(com.oracle.truffle.llvm.runtime.types.AggregateType)
LLVMArithmeticInstructionType(com.oracle.truffle.llvm.parser.instructions.LLVMArithmeticInstructionType)
Type(com.oracle.truffle.llvm.runtime.types.Type)
PointerType(com.oracle.truffle.llvm.runtime.types.PointerType)
FunctionType(com.oracle.truffle.llvm.runtime.types.FunctionType)
LLVMExpressionNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode)
LLVMSourceLocation(com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation)