Author: dgilmore
Date: 2012-04-02 18:49:39 -0400 (Mon, 02 Apr 2012)
New Revision: 3898

Modified:
   trunk/osprey/be/cg/x8664/ebo_special.cxx
Log:
This is a fix for a bug found by adding new fields to the
OP structure which caused a segmentation fault during the
code generation phase when building SPEC dealII.

The Base() member function of a POINTS_TO structure only
returns a valid ST pointer when the base kind is fixed (for
debugging purposes, during alias information construction
pointers to different structures are placed in _base when
the base kind is dynamic).

For consistency sake, in this source file I changed the
other check to determine whether the base kind is fixed to
use the Based_is_fixed() member function.

CR: Jian-Xin Lai.


Modified: trunk/osprey/be/cg/x8664/ebo_special.cxx
===================================================================
--- trunk/osprey/be/cg/x8664/ebo_special.cxx    2012-04-01 01:17:16 UTC (rev 
3897)
+++ trunk/osprey/be/cg/x8664/ebo_special.cxx    2012-04-02 22:49:39 UTC (rev 
3898)
@@ -6150,7 +6150,7 @@
   WN *mem_wn = (WN*) OP_MAP_Get(OP_to_WN_map, op);
   if (mem_wn) {
     POINTS_TO *pt = Points_to(Alias_Manager, mem_wn);
-    if (pt->Expr_kind() == EXPR_IS_ADDR && pt->Base_kind() == BASE_IS_FIXED) {
+    if (pt->Expr_kind() == EXPR_IS_ADDR && pt->Base_is_fixed()) {
       st = pt->Base();
     } else if (pt->F_param() && pt->Based_sym() != NULL) {
       st = pt->Based_sym();
@@ -8874,7 +8874,7 @@
     return ret_val;
   }
 
-  if (load_data && load_data->Base()) {
+  if (load_data && load_data->Base_is_fixed()) {
     ST *load_sym = load_data->Base();
 
     // we can only proceed when processing vars


------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to