This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On Fri, Apr 6, 2012 at 6:30 AM, H.J. Lu <hongjiu.lu@intel.com> wrote: > Hi, > > With ptr_mode = SImode and Pmode == DImode, given > > (note 21 8 17 2 (expr_list:REG_DEP_TRUE (concat:SI (reg:SI 5 di) > ? ? ? ?(subreg:SI (plus:DI (reg/f:DI 16 argp) > ? ? ? ? ? ? ? ?(const_int -20 [0xffffffffffffffec])) 0)) > ? ?(nil)) NOTE_INSN_CALL_ARG_LOCATION) > > when > > (plus:DI (reg/f:DI 16 argp) > ? ?(const_int -20 [0xffffffffffffffec])) > > reaches mem_loc_descriptor: > > ? case PLUS: > ? ?plus: > ? ? ?if (is_based_loc (rtl) > ? ? ? ? ?&& GET_MODE_SIZE (mode) <= DWARF2_ADDR_SIZE > ? ? ? ? ?&& GET_MODE_CLASS (mode) == MODE_INT) > ? ? ? ?mem_loc_result = based_loc_descr (XEXP (rtl, 0), > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?INTVAL (XEXP (rtl, 1)), > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?VAR_INIT_STATUS_INITIALIZED); > ? ? ?else > > it fails "GET_MODE_SIZE (mode) <= DWARF2_ADDR_SIZE" since mode is DImode > and DWARF2_ADDR_SIZE is 4. ?arg_pointer_rtx and frame_pointer_rtx are > special cases. ?They should be allowed for based_loc_descr even if their > mode sizes > DWARF2_ADDR_SIZE. ?OK for trunk? > I missed another place where arg_pointer_rtx and frame_pointer_rtx should be allowed for based_loc_descr. Tested on Linux/ia32, Linux/x86-64 and Linux/x32. OK for trunk? Thanks. -- H.J.
Attachment:
gcc-pr52857-2.patch
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |