aboutsummaryrefslogtreecommitdiffstats
path: root/ortho/llvm/ortho_llvm.private.ads
diff options
context:
space:
mode:
Diffstat (limited to 'ortho/llvm/ortho_llvm.private.ads')
-rw-r--r--ortho/llvm/ortho_llvm.private.ads33
1 files changed, 20 insertions, 13 deletions
diff --git a/ortho/llvm/ortho_llvm.private.ads b/ortho/llvm/ortho_llvm.private.ads
index 30b86a447..842a119b5 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;