Re: [patch,avr] PR84211: Add a new post reload optimization pass

2024-11-20 Thread Andreas Schwab
../../gcc/config/avr/avr-passes.cc: In member function ‘void {anonymous}::memento_t::apply_insn1(rtx_insn*, bool)’: ../../gcc/config/avr/avr-passes.cc:2119:9: error: no match for ‘operator&=’ (operand types are ‘{anonymous}::gprmask_t’ {aka ‘unsigned int’} and ‘HARD_REG_SET’) 2119 | known &=

Re: [patch,avr] PR84211: Add a new post reload optimization pass

2024-11-19 Thread Georg-Johann Lay
Am 19.11.24 um 13:31 schrieb Andreas Schwab: ../../gcc/config/avr/avr-passes.cc: In member function ‘void {anonymous}::memento_t::apply_insn1(rtx_insn*, bool)’: ../../gcc/config/avr/avr-passes.cc:2119:9: error: no match for ‘operator&=’ (operand types are ‘{anonymous}::gprmask_t’ {aka ‘unsigned

Re: [patch,avr] PR84211: Add a new post reload optimization pass

2024-11-18 Thread Denis Chertykov
вс, 17 нояб. 2024 г. в 21:23, Georg-Johann Lay : > > Am 17.11.24 um 17:01 schrieb Denis Chertykov: > > вс, 17 нояб. 2024 г. в 18:42, Georg-Johann Lay : > >> > >> This introduces a new post reload pass that tracks known values held > >> in registers and performs optimizations based on that knowledge

Re: [patch,avr] PR84211: Add a new post reload optimization pass

2024-11-17 Thread Georg-Johann Lay
Am 17.11.24 um 15:42 schrieb Georg-Johann Lay: Here are some examples: Here are the examples again, but unTABified for legibility: Without optimization | With optimization | = long long fn_zero (void) { retur

Re: [patch,avr] PR84211: Add a new post reload optimization pass

2024-11-17 Thread Denis Chertykov
вс, 17 нояб. 2024 г. в 18:42, Georg-Johann Lay : > > This introduces a new post reload pass that tracks known values held > in registers and performs optimizations based on that knowledge. > > It runs between the two instances of the RTL peephole pass. [...] > (Memento, AbsInt, AbsInsByte,