+2017-08-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/81754
+ PR target/81268
+ * config/avr/avr.opt (mgas-isr-prologues): New Var avr_gasisr_prologues.
+ * config/avr/avr.md (gasisr, *gasisr): Use it instead of
+ TARGET_GASISR_PROLOGUES.
+ * config/avr/avr.c (avr_option_override): Same.
+ (avr_pass_pre_proep::execute): Same.
+
2017-08-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*load_tp_<mode>): Redefine as
warning (OPT_fPIE, "-fPIE is not supported");
#if !defined (HAVE_AS_AVR_MGCCISR_OPTION)
- TARGET_GASISR_PROLOGUES = 0;
+ avr_gasisr_prologues = 0;
#endif
if (!avr_set_core_architecture())
virtual unsigned int execute (function *fun)
{
- if (TARGET_GASISR_PROLOGUES
+ if (avr_gasisr_prologues
// Whether this function is an ISR worth scanning at all.
&& !fun->machine->is_no_gccisr
&& (fun->machine->is_interrupt
(set (match_dup 2)
(unspec_volatile:BLK [(match_dup 2)]
UNSPECV_MEMORY_BARRIER))])]
- "TARGET_GASISR_PROLOGUES"
+ "avr_gasisr_prologues"
{
operands[2] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
MEM_VOLATILE_P (operands[2]) = 1;
(unspec_volatile:HI [(reg:HI REG_SP)] UNSPECV_GASISR))
(set (match_operand:BLK 2)
(unspec_volatile:BLK [(match_dup 2)] UNSPECV_MEMORY_BARRIER))]
- "TARGET_GASISR_PROLOGUES"
+ "avr_gasisr_prologues"
"__gcc_isr %0"
[(set_attr "length" "6,5")
(set_attr "cc" "clobber")])
-mmcu=MCU Select the target MCU.
mgas-isr-prologues
-Target Report Mask(GASISR_PROLOGUES)
+Target Report Var(avr_gasisr_prologues) UInteger Init(0)
Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues.
mn-flash=