sun::codegen
namespace · Source (opens in a new tab)
Translates analyzed Sun programs into LLVM instructions.
Translates analyzed Sun programs into LLVM code.
Namespaces
- sun::codegen::abi
- sun::codegen::functions
- sun::codegen::intrinsics
- sun::codegen::scopes
- sun::codegen::classes
- sun::codegen::enums
- sun::codegen::errors
- sun::codegen::loops
- sun::codegen::support
- sun::codegen::variables
Classes
- sun::codegen::CodegenContext (public)
- sun::codegen::CodegenState (public)
- sun::codegen::CodegenVisitor (public)
- sun::codegen::DebugInfoBuilder (public)
- sun::codegen::LLVMTypeResolver (public)
Structs
- sun::codegen::FunctionFrame (public)
Functions
coerceCondToBool
coerceCondToBool(CodegenContext &ctx, Value *CondV)
public · function · Source (opens in a new tab)
Value * sun::codegen::coerceCondToBool(CodegenContext &ctx, Value *CondV)Converts a generated condition to the LLVM boolean used for branching.
Related: CodegenContext
coerceCondToBool(CodegenContext &ctx, llvm::Value *condV)
public · function · Source (opens in a new tab)
llvm::Value * sun::codegen::coerceCondToBool(CodegenContext &ctx, llvm::Value *condV)Convert a condition value to i1 (non-zero test for numeric conditions).
Related: CodegenContext
isUnsignedExpr
public · function · static · Source (opens in a new tab)
static bool sun::codegen::isUnsignedExpr(const ExprAST &expr)True if the expression's resolved Sun type is an unsigned integer.
Floats, bool, and enums answer false and take the signed/default path.
Related: ExprAST
Variables
ExitOnErr
public · variable · static · Source (opens in a new tab)
ExitOnError sun::codegen::ExitOnErrNo documentation comment.