aboutsummaryrefslogtreecommitdiffstats
path: root/translate/ghdldrv
diff options
context:
space:
mode:
authorgingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7>2005-11-01 03:04:50 +0000
committergingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7>2005-11-01 03:04:50 +0000
commitefb30b021679ac1334e1d4fdffa073eaaa082a51 (patch)
tree662fd4ed6a0ef3fb8e0f2e214d676f5720416c04 /translate/ghdldrv
parent1f7fba5473ed7e609d46ee9b75b738be92a28b86 (diff)
downloadghdl-efb30b021679ac1334e1d4fdffa073eaaa082a51.tar.gz
ghdl-efb30b021679ac1334e1d4fdffa073eaaa082a51.tar.bz2
ghdl-efb30b021679ac1334e1d4fdffa073eaaa082a51.zip
update: support of amd64 + more optimizations
Diffstat (limited to 'translate/ghdldrv')
-rw-r--r--translate/ghdldrv/ghdldrv.adb1
-rw-r--r--translate/ghdldrv/ghdlrun.adb10
2 files changed, 9 insertions, 2 deletions
diff --git a/translate/ghdldrv/ghdldrv.adb b/translate/ghdldrv/ghdldrv.adb
index 6612fb3fe..5b9b8adbb 100644
--- a/translate/ghdldrv/ghdldrv.adb
+++ b/translate/ghdldrv/ghdldrv.adb
@@ -1223,6 +1223,7 @@ package body Ghdldrv is
if Elab_Index < 0 then
Analyze_Files (Args, True);
else
+ Flags.Flag_Whole_Analyze := True;
Set_Elab_Units ("-c", Args (Elab_Index + 1 .. Args'Last));
Setup_Compiler (False);
diff --git a/translate/ghdldrv/ghdlrun.adb b/translate/ghdldrv/ghdlrun.adb
index df64ebc66..55be418fe 100644
--- a/translate/ghdldrv/ghdlrun.adb
+++ b/translate/ghdldrv/ghdlrun.adb
@@ -84,6 +84,9 @@ package body Ghdlrun is
-- Initialize.
Back_End.Finish_Compilation := Trans_Be.Finish_Compilation'Access;
+ -- The design is always analyzed in whole.
+ Flags.Flag_Whole_Analyze := True;
+
Setup_Libraries (False);
Libraries.Load_Std_Library;
@@ -458,8 +461,11 @@ package body Ghdlrun is
Std_Standard_Bit_RTI_Ptr :=
Get_Address (Trans_Decls.Std_Standard_Bit_Rti);
if Ieee.Std_Logic_1164.Resolved /= Null_Iir then
- Ieee_Std_Logic_1164_Resolved_Resolv_Ptr := Get_Address
- (Translation.Get_Resolv_Ortho_Decl (Ieee.Std_Logic_1164.Resolved));
+ Decl := Translation.Get_Resolv_Ortho_Decl
+ (Ieee.Std_Logic_1164.Resolved);
+ if Decl /= O_Dnode_Null then
+ Ieee_Std_Logic_1164_Resolved_Resolv_Ptr := Get_Address (Decl);
+ end if;
end if;
Def (Trans_Decls.Ghdl_Protected_Enter,