On Sat, 14 Jun 2014, Richard Sandiford wrote: > To make the final representation change easier, this patch introduces > macros for iterating over lists of defs, uses and eq_uses. At the > moment there are three possible keys when accessing df_ref lists: > the insn rtx (DF_INSN_*), the insn uid (DF_INSN_UID_*) and the > df_insn_info (DF_INSN_INFO_*). I don't think it's worth adding > iterators for uids though. Any code that's going to the trouble of > caching the uid might as well go the whole hog and cache the underlying > df_insn_info. > > After the feedback to the BB iterator patch: > > https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00676.html > > I've kept the iterator variable definitions outside the FOR_* macros > rather than make the FOR_* macros define the variables themselves. > > Richard > > > gcc/ > * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros. > (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise. > (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise. > * auto-inc-dec.c (find_inc, merge_in_block): Use them.
One of these patches (in 211677:211684) broke cris-elf: g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall \ -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macr\ os -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/tmp/hpautotest-gcc0/gcc/gcc -I/tmp/hpautotest-gcc0/g\ cc/gcc/. -I/tmp/hpautotest-gcc0/gcc/gcc/../include -I/tmp/hpautotest-gcc0/gcc/gcc/../libcpp/include -I/tmp/hpautotest-g\ cc0/cris-elf/gccobj/./gmp -I/tmp/hpautotest-gcc0/gcc/gmp -I/tmp/hpautotest-gcc0/cris-elf/gccobj/./mpfr -I/tmp/hpautotes\ t-gcc0/gcc/mpfr -I/tmp/hpautotest-gcc0/gcc/mpc/src -I/tmp/hpautotest-gcc0/gcc/gcc/../libdecnumber -I/tmp/hpautotest-gc\ c0/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/tmp/hpautotest-gcc0/gcc/gcc/../libbacktrace -o auto-inc-dec.o -M\ T auto-inc-dec.o -MMD -MP -MF ./.deps/auto-inc-dec.TPo /tmp/hpautotest-gcc0/gcc/gcc/auto-inc-dec.c /tmp/hpautotest-gcc0/gcc/gcc/auto-inc-dec.c: In function 'void merge_in_block(int, basic_block_def*)': /tmp/hpautotest-gcc0/gcc/gcc/auto-inc-dec.c:1442: error: 'uid' was not declared in this scope make[2]: *** [auto-inc-dec.o] Error 1 brgds, H-P