Commit b6735d9a by Georg-Johann Lay Committed by Georg-Johann Lay

gen-pass-instances.awk is sensitive to the order in which passes are added...

	gen-pass-instances.awk is sensitive to the order in which
	passes are added; passes that appear later have to be added first.
	PR target/71676
	PR target/71678
	* config/avr/avr-passes.def: Swap order of directives for
	gen-pass-instances.awk.

From-SVN: r241547
parent 9e8b0bba
2016-10-26 Georg-Johann Lay <avr@gjlay.de>
gen-pass-instances.awk is sensitive to the order in which
passes are added; passes that appear later have to be added first.
PR target/71676
PR target/71678
* config/avr/avr-passes.def: Swap order of directives for
gen-pass-instances.awk.
2016-10-25 Jeff Law <law@redhat.com>
* config/vax/vax.c (vad_address_cost_1): Add missing FALLTHRU comment.
......
......@@ -17,6 +17,19 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* FIXME: We have to add the last pass first, otherwise
gen-pass-instances.awk won't work as expected. */
/* This avr-specific pass (re)computes insn notes, in particular REG_DEAD
notes which are used by `avr.c::reg_unused_after' and branch offset
computations. These notes must be correct, i.e. there must be no
dangling REG_DEAD notes; otherwise wrong code might result, cf. PR64331.
DF needs (correct) CFG, hence right before free_cfg is the last
opportunity to rectify notes. */
INSERT_PASS_BEFORE (pass_free_cfg, 1, avr_pass_recompute_notes);
/* casesi uses a SImode switch index which is quite costly as most code will
work on HImode or QImode. The following pass runs right after .expand and
tries to fix such situations by operating on the original mode. This
......@@ -27,13 +40,3 @@
insns withaout any insns in between. */
INSERT_PASS_AFTER (pass_expand, 1, avr_pass_casesi);
/* This avr-specific pass (re)computes insn notes, in particular REG_DEAD
notes which are used by `avr.c::reg_unused_after' and branch offset
computations. These notes must be correct, i.e. there must be no
dangling REG_DEAD notes; otherwise wrong code might result, cf. PR64331.
DF needs (correct) CFG, hence right before free_cfg is the last
opportunity to rectify notes. */
INSERT_PASS_BEFORE (pass_free_cfg, 1, avr_pass_recompute_notes);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment