diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2012-11-13 00:36:54 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2012-11-13 00:36:54 +0000 |
commit | ab11fb42c35513a796626d9ddb70c8eaf4d4b037 (patch) | |
tree | 3527527cc5944a442f28078158e0c39af0202580 /gcc/fold-const.c | |
parent | 769b084b1a8e7e14a51249c9791776327dae869d (diff) | |
download | gcc-ab11fb42c35513a796626d9ddb70c8eaf4d4b037.zip gcc-ab11fb42c35513a796626d9ddb70c8eaf4d4b037.tar.gz gcc-ab11fb42c35513a796626d9ddb70c8eaf4d4b037.tar.bz2 |
re PR target/55195 (shorten_branches generates incorrect forward branch distances)
PR target/55195
* config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
(in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
(in_nullified_branch_delay): Likewise.
(in_call_delay): Likewise.
Define delay for sibcall insns. Adjust Z3 and Z4 insn reservations for
new types. Add opaque cond to mark all calls, sibcalls, dyncalls and
the $$sh_func_adrs call as variable. Update type of sibcalls and
$$sh_func_adrs call.
* config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
length instead of adjustment. Handle negative and undefined call
adjustments for insn_default_length. Remove adjustment for millicode
insn with unfilled delay slot.
(pa_output_millicode_call): Update for revised millicode length.
* config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
From-SVN: r193464
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions