zig/src/ir.hpp

25 lines
720 B
C++
Raw Normal View History

2016-09-30 14:21:21 +08:00
/*
* Copyright (c) 2016 Andrew Kelley
*
* This file is part of zig, which is MIT licensed.
* See http://opensource.org/licenses/MIT
*/
#ifndef ZIG_IR_HPP
#define ZIG_IR_HPP
#include "all_types.hpp"
2016-12-02 02:55:56 +08:00
IrInstruction *ir_gen(CodeGen *g, AstNode *node, Scope *scope, IrExecutable *ir_executable);
IrInstruction *ir_gen_fn(CodeGen *g, FnTableEntry *fn_entry);
2016-09-30 14:21:21 +08:00
2016-10-06 13:09:01 +08:00
TypeTableEntry *ir_analyze(CodeGen *g, IrExecutable *old_executable, IrExecutable *new_executable,
2016-10-27 13:08:06 +08:00
TypeTableEntry *expected_type, AstNode *expected_type_source_node);
2016-09-30 14:21:21 +08:00
2016-10-30 07:14:48 +08:00
IrInstruction *ir_exec_const_result(IrExecutable *exec);
2016-10-16 14:19:01 +08:00
bool ir_has_side_effects(IrInstruction *instruction);
ConstExprValue *const_ptr_pointee(ConstExprValue *const_val);
2016-10-16 14:19:01 +08:00
2016-09-30 14:21:21 +08:00
#endif