integreate.c fix
Jan Hubicka
jh@suse.cz
Wed Dec 13 11:19:00 GMT 2000
Hi
integrate copies ASM_OPERAND using weird way to ensure sharing forgetting to
copy it's mode producing incorrect RTX as an output.
Wed Dec 13 20:18:03 MET 2000 Jan Hubicka <jh@suse.cz>
* integrate.c (copy_rtx_and_substitute): Copy mode too.
Index: egcs/gcc/integrate.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/integrate.c,v
retrieving revision 1.121
diff -c -3 -p -r1.121 integrate.c
*** integrate.c 2000/11/30 06:31:17 1.121
--- integrate.c 2000/12/13 19:15:50
*************** copy_rtx_and_substitute (orig, map, for_
*** 2070,2075 ****
--- 2070,2076 ----
{
copy = rtx_alloc (ASM_OPERANDS);
copy->volatil = orig->volatil;
+ PUT_MODE (copy, GET_MODE (orig));
ASM_OPERANDS_TEMPLATE (copy) = ASM_OPERANDS_TEMPLATE (orig);
ASM_OPERANDS_OUTPUT_CONSTRAINT (copy)
= ASM_OPERANDS_OUTPUT_CONSTRAINT (orig);
More information about the Gcc-patches
mailing list