diff options
Diffstat (limited to 'ortho/llvm/ortho_llvm.private.ads')
-rw-r--r-- | ortho/llvm/ortho_llvm.private.ads | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/ortho/llvm/ortho_llvm.private.ads b/ortho/llvm/ortho_llvm.private.ads index 30b86a4..842a119 100644 --- a/ortho/llvm/ortho_llvm.private.ads +++ b/ortho/llvm/ortho_llvm.private.ads @@ -18,20 +18,35 @@ with Interfaces; use Interfaces; with Interfaces.C; use Interfaces.C; -with Ortho_Ident; -use Ortho_Ident; -with LLVM.Core; +with Ortho_Ident; use Ortho_Ident; +with LLVM.Core; use LLVM.Core; +with LLVM.TargetMachine; +with LLVM.Target; -- Interface to create nodes. package Ortho_LLVM is + procedure Init; procedure Finish_Debug; + -- LLVM specific: the module. + Module : ModuleRef; + + -- Descriptor for the layout. + Target_Data : LLVM.Target.TargetDataRef; + + Target_Machine : LLVM.TargetMachine.TargetMachineRef; + + -- Optimization level + Optimization : LLVM.TargetMachine.CodeGenOptLevel := + LLVM.TargetMachine.CodeGenLevelDefault; + + -- Set by -g to generate debug info. + Flag_Debug : Boolean := False; + private -- No support for nested subprograms in LLVM. Has_Nested_Subprograms : constant Boolean := False; - use LLVM.Core; - type O_Tnode_Type (<>); type O_Tnode is access O_Tnode_Type; O_Tnode_Null : constant O_Tnode := null; @@ -287,12 +302,4 @@ private end record; function Get_LLVM_Type (Atype : O_Tnode) return TypeRef; - - -- Builder for statements. - Builder : BuilderRef; - - -- Builder for declarations (local variables). - Decl_Builder : BuilderRef; - - Llvm_Dbg_Declare : ValueRef; end Ortho_LLVM; |