Author: aagarwa
Date: 2011-10-21 10:12:50 -0400 (Fri, 21 Oct 2011)
New Revision: 3774

Modified:
   trunk/osprey/be/opt/opt_emit_template.h
Log:
The change is made to fix bug Id 784.The problem is related to ILOAD
being assigned rtype = MTYPE_U4 and Desc = MTYPE_I8.

This is happening because at whirl generation following
Whirl node has been set.

ASM_INPUTS

        U8U8LDID 0 <2,2,stat> T<57,anon_ptr.,8>

       I8I8ILOAD 0 T<55,kstat,8> T<57,anon_ptr.,8> <field_id:2>

      U4I8CVT
Because of U4I8 type conversion rtype is set as MTYPE_U4 and desc is set
as MTYPE_I8.Changes are made to remain the same rtype and desc for ILOAD
if CVT is there with U4 and I8.We can.t have valid opcode U4I8ILOAD by
checking the valid opcode by using Is_Valid_Opcode_parts.




Modified: trunk/osprey/be/opt/opt_emit_template.h
===================================================================
--- trunk/osprey/be/opt/opt_emit_template.h     2011-10-21 06:31:51 UTC (rev 
3773)
+++ trunk/osprey/be/opt/opt_emit_template.h     2011-10-21 14:12:50 UTC (rev 
3774)
@@ -393,8 +393,12 @@
               else if (
                       ! MTYPE_is_float(exp->Asm_input_rtype()) &&
                       exp->Asm_input_rtype() != exp->Asm_input_dsctype()) {
-                WN_set_rtype(WN_kid(wn, i), exp->Asm_input_rtype());
-                WN_set_desc(WN_kid(wn, i), exp->Asm_input_dsctype());
+                   if(Is_Valid_Opcode_Parts(WN_operator(WN_kid(wn, i)),
+                      exp->Asm_input_rtype(),exp->Asm_input_dsctype()))
+                   {
+                     WN_set_rtype(WN_kid(wn, i), exp->Asm_input_rtype());
+                     WN_set_desc(WN_kid(wn, i), exp->Asm_input_dsctype());
+                   }
               }
             }
             else{


------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn 
about Cisco certifications, training, and career opportunities. 
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to