Commit 7f2d3c4f by Georg-Johann Lay Committed by Georg-Johann Lay

re PR target/81754 (Building of cross compiler avr-elf is broken)

gcc/
	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.

From-SVN: r251085
parent 4e5065e1
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> 2017-08-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*load_tp_<mode>): Redefine as * config/i386/i386.md (*load_tp_<mode>): Redefine as
......
...@@ -777,7 +777,7 @@ avr_option_override (void) ...@@ -777,7 +777,7 @@ avr_option_override (void)
warning (OPT_fPIE, "-fPIE is not supported"); warning (OPT_fPIE, "-fPIE is not supported");
#if !defined (HAVE_AS_AVR_MGCCISR_OPTION) #if !defined (HAVE_AS_AVR_MGCCISR_OPTION)
TARGET_GASISR_PROLOGUES = 0; avr_gasisr_prologues = 0;
#endif #endif
if (!avr_set_core_architecture()) if (!avr_set_core_architecture())
...@@ -1459,7 +1459,7 @@ public: ...@@ -1459,7 +1459,7 @@ public:
virtual unsigned int execute (function *fun) virtual unsigned int execute (function *fun)
{ {
if (TARGET_GASISR_PROLOGUES if (avr_gasisr_prologues
// Whether this function is an ISR worth scanning at all. // Whether this function is an ISR worth scanning at all.
&& !fun->machine->is_no_gccisr && !fun->machine->is_no_gccisr
&& (fun->machine->is_interrupt && (fun->machine->is_interrupt
......
...@@ -5819,7 +5819,7 @@ ...@@ -5819,7 +5819,7 @@
(set (match_dup 2) (set (match_dup 2)
(unspec_volatile:BLK [(match_dup 2)] (unspec_volatile:BLK [(match_dup 2)]
UNSPECV_MEMORY_BARRIER))])] UNSPECV_MEMORY_BARRIER))])]
"TARGET_GASISR_PROLOGUES" "avr_gasisr_prologues"
{ {
operands[2] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); operands[2] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
MEM_VOLATILE_P (operands[2]) = 1; MEM_VOLATILE_P (operands[2]) = 1;
...@@ -5833,7 +5833,7 @@ ...@@ -5833,7 +5833,7 @@
(unspec_volatile:HI [(reg:HI REG_SP)] UNSPECV_GASISR)) (unspec_volatile:HI [(reg:HI REG_SP)] UNSPECV_GASISR))
(set (match_operand:BLK 2) (set (match_operand:BLK 2)
(unspec_volatile:BLK [(match_dup 2)] UNSPECV_MEMORY_BARRIER))] (unspec_volatile:BLK [(match_dup 2)] UNSPECV_MEMORY_BARRIER))]
"TARGET_GASISR_PROLOGUES" "avr_gasisr_prologues"
"__gcc_isr %0" "__gcc_isr %0"
[(set_attr "length" "6,5") [(set_attr "length" "6,5")
(set_attr "cc" "clobber")]) (set_attr "cc" "clobber")])
......
...@@ -27,7 +27,7 @@ Target RejectNegative Joined Var(avr_mmcu) MissingArgError(missing device or arc ...@@ -27,7 +27,7 @@ Target RejectNegative Joined Var(avr_mmcu) MissingArgError(missing device or arc
-mmcu=MCU Select the target MCU. -mmcu=MCU Select the target MCU.
mgas-isr-prologues 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. Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues.
mn-flash= mn-flash=
......
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