Re: LRA for avr: Clobber with match_dup

2023-07-20 Thread Vladimir Makarov via Gcc
On 7/20/23 07:17, senthilkumar.selva...@microchip.com wrote: Hi, The avr backend has this define_insn_and_split (define_insn_and_split "*tablejump_split" [(set (pc) (unspec:HI [(match_operand:HI 0 "register_operand" "!z,*r,z")] UNSPEC_INDEX_JMP)) (use (l

Re: LRA for avr: Clobber with match_dup

2023-07-20 Thread Joern Rennecke
> Making operand 0 read/write in define_insn_and_split prevents the web pass > from creating a new pseudo > for the clobber, avoiding the whole problem. That is the right solution. If you clobber a match_dup of an input operand, that makes it and input-and-output operand, so you should mark it a

LRA for avr: Clobber with match_dup

2023-07-20 Thread SenthilKumar.Selvaraj--- via Gcc
Hi, The avr backend has this define_insn_and_split (define_insn_and_split "*tablejump_split" [(set (pc) (unspec:HI [(match_operand:HI 0 "register_operand" "!z,*r,z")] UNSPEC_INDEX_JMP)) (use (label_ref (match_operand 1 "" ""))) (clobber (match_dup 0)) (clob