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