I have a series of 13 follow-up patches which remove the remaining
"cfun"-using macros from basic-block.h
Successfully bootstrapped®tested on x86_64-unknown-linux-gnu.
These were pre-approved in stage1, and are mechanical in nature [1]
I'd like to apply these to trunk now, but given that we're now in
stage3, do I need to wait until the next stage1?
The first 4 patches rename various "_for_function|_FOR_FUNCTION"
macros to "_for_fn|_FOR_FN" for consistency with the earlier
patches in this thread.
The remaining patches eliminate cfun-using macros in favor of
the "_for_fn|_FOR_FN" variant, making uses of cfun explicit.
There are still some macros in function.h that implicitly use
cfun, but it's less clear what to replace them with.
Note to self: here's a grep invocation for ensuring that no new
uses sneak into the sources:
for m in \
basic_block_info_for_function BASIC_BLOCK_FOR_FUNCTION \
SET_BASIC_BLOCK_FOR_FUNCTION last_basic_block_for_function \
label_to_block_map_for_function profile_status_for_function \
SET_BASIC_BLOCK BASIC_BLOCK basic_block_info label_to_block_map \
profile_status last_basic_block FOR_EACH_BB FOR_EACH_BB_REVERSE \
FOR_ALL_BB ;
do
grep -nH -E -w $m \
gcc/*.[ch] gcc/config/*.[ch] gcc/config/*/*.{c,h,md} ;
done
(this currently has 11 false-positives)
[1] with one exception, in patch 10 in gcc/ira-emit.c (ira_emit) where
I introduced a new local to avoid overlong lines.
David Malcolm (13):
Rename macros (basic_block_info_for_function,
BASIC_BLOCK_FOR_FUNCTION, SET_BASIC_BLOCK_FOR_FUNCTION)
Rename last_basic_block_for_function to last_basic_block_for_fn.
Rename label_to_block_map_for_function to label_to_block_map_for_fn.
Rename profile_status_for_function to profile_status_for_fn.
Eliminate SET_BASIC_BLOCK macro.
Eliminate BASIC_BLOCK macro.
Eliminate basic_block_info macro.
Eliminate label_to_block_map macro.
Eliminate profile_status macro.
Eliminate last_basic_block macro.
Eliminate FOR_EACH_BB macro.
Eliminate FOR_EACH_BB_REVERSE macro.
Eliminate FOR_ALL_BB macro.
gcc/alias.c | 2 +-
gcc/asan.c | 6 +-
gcc/auto-inc-dec.c | 2 +-
gcc/basic-block.h | 32 +++------
gcc/bb-reorder.c | 29 ++++----
gcc/bt-load.c | 45 ++++++------
gcc/caller-save.c | 8 +--
gcc/cfg.c | 32 ++++-----
gcc/cfganal.c | 35 +++++-----
gcc/cfgbuild.c | 12 ++--
gcc/cfgcleanup.c | 6 +-
gcc/cfgexpand.c | 14 ++--
gcc/cfghooks.c | 16 ++---
gcc/cfgloop.c | 20 +++---
gcc/cfgloopanal.c | 8 +--
gcc/cfgloopmanip.c | 6 +-
gcc/cfgrtl.c | 61 ++++++++--------
gcc/cgraphbuild.c | 8 +--
gcc/combine-stack-adj.c | 2 +-
gcc/combine.c | 8 +--
gcc/config/arm/arm.c | 4 +-
gcc/config/bfin/bfin.c | 4 +-
gcc/config/c6x/c6x.c | 6 +-
gcc/config/epiphany/resolve-sw-modes.c | 6 +-
gcc/config/frv/frv.c | 8 +--
gcc/config/i386/i386.c | 2 +-
gcc/config/ia64/ia64.c | 6 +-
gcc/config/mips/mips.c | 8 +--
gcc/config/picochip/picochip.c | 2 +-
gcc/config/rs6000/rs6000.c | 2 +-
gcc/config/s390/s390.c | 4 +-
gcc/config/sh/sh.c | 2 +-
gcc/config/spu/spu.c | 6 +-
gcc/config/tilegx/tilegx.c | 4 +-
gcc/config/tilepro/tilepro.c | 4 +-
gcc/coverage.c | 2 +-
gcc/cprop.c | 23 ++++---
gcc/cse.c | 8 +--
gcc/dce.c | 10 +--
gcc/df-core.c | 68 +++++++++---------
gcc/df-problems.c | 54 +++++++--------
gcc/df-scan.c | 42 ++++++-----
gcc/df.h | 2 +-
gcc/dominance.c | 37 +++++-----
gcc/domwalk.c | 2 +-
gcc/dse.c | 14 ++--
gcc/except.c | 2 +-
gcc/final.c | 6 +-
gcc/function.c | 16 ++---
gcc/gcse.c | 54 ++++++++-------
gcc/gimple-iterator.c | 2 +-
gcc/gimple-ssa-isolate-paths.c | 4 +-
gcc/gimple-streamer-in.c | 4 +-
gcc/gimple.c | 8 ++-
gcc/graph.c | 6 +-
gcc/graphite-scop-detection.c | 6 +-
gcc/graphite-sese-to-poly.c | 6 +-
gcc/graphite.c | 6 +-
gcc/haifa-sched.c | 4 +-
gcc/hw-doloop.c | 6 +-
gcc/ifcvt.c | 2 +-
gcc/init-regs.c | 2 +-
gcc/internal-fn.c | 6 +-
gcc/ipa-inline-analysis.c | 4 +-
gcc/ipa-prop.c | 2 +-
gcc/ipa-pure-const.c | 2 +-
gcc/ipa-split.c | 13 ++--
gcc/ipa-utils.c | 8 +--
gcc/ira-build.c | 15 ++--
gcc/ira-costs.c | 2 +-
gcc/ira-emit.c | 24 ++++---
gcc/ira.c | 42 ++++++-----
gcc/jump.c | 2 +-
gcc/lcm.c | 115 ++++++++++++++++++-------------
gcc/loop-init.c | 6 +-
gcc/loop-invariant.c | 2 +-
gcc/loop-unroll.c | 16 +++--
gcc/lower-subreg.c | 8 +--
gcc/lra-assigns.c | 2 +-
gcc/lra-coalesce.c | 4 +-
gcc/lra-constraints.c | 4 +-
gcc/lra-eliminations.c | 2 +-
gcc/lra-lives.c | 4 +-
gcc/lra-spills.c | 6 +-
gcc/lra.c | 10 +--
gcc/lto-streamer-in.c | 28 ++++----
gcc/lto-streamer-out.c | 8 +--
gcc/mcf.c | 4 +-
gcc/mode-switching.c | 27 ++++----
gcc/modulo-sched.c | 2 +-
gcc/omp-low.c | 6 +-
gcc/optabs.c | 2 +-
gcc/postreload-gcse.c | 4 +-
gcc/postreload.c | 4 +-
gcc/predict.c | 54 +++++++--------
gcc/profile.c | 12 ++--
gcc/recog.c | 6 +-
gcc/ree.c | 2 +-
gcc/reg-stack.c | 6 +-
gcc/regcprop.c | 8 +--
gcc/reginfo.c | 2 +-
gcc/regrename.c | 12 ++--
gcc/regstat.c | 8 +--
gcc/reload1.c | 10 +--
gcc/resource.c | 13 ++--
gcc/sched-ebb.c | 4 +-
gcc/sched-int.h | 5 +-
gcc/sched-rgn.c | 103 +++++++++++++++------------
gcc/sched-vis.c | 2 +-
gcc/sel-sched-dump.c | 2 +-
gcc/sel-sched-ir.c | 35 +++++-----
gcc/sel-sched.c | 22 +++---
gcc/sese.c | 6 +-
gcc/stack-ptr-mod.c | 2 +-
gcc/store-motion.c | 38 +++++-----
gcc/testsuite/g++.dg/plugin/selfassign.c | 2 +-
gcc/testsuite/gcc.dg/plugin/selfassign.c | 2 +-
gcc/tracer.c | 8 +--
gcc/trans-mem.c | 15 ++--
gcc/tree-call-cdce.c | 2 +-
gcc/tree-cfg.c | 108 +++++++++++++++--------------
gcc/tree-cfgcleanup.c | 16 ++---
gcc/tree-complex.c | 6 +-
gcc/tree-dfa.c | 6 +-
gcc/tree-eh.c | 6 +-
gcc/tree-emutls.c | 2 +-
gcc/tree-if-conv.c | 2 +-
gcc/tree-inline.c | 32 +++++----
gcc/tree-into-ssa.c | 45 ++++++------
gcc/tree-loop-distribution.c | 2 +-
gcc/tree-nrv.c | 6 +-
gcc/tree-object-size.c | 2 +-
gcc/tree-outof-ssa.c | 6 +-
gcc/tree-profile.c | 2 +-
gcc/tree-scalar-evolution.c | 2 +-
gcc/tree-sra.c | 14 ++--
gcc/tree-ssa-ccp.c | 6 +-
gcc/tree-ssa-coalesce.c | 6 +-
gcc/tree-ssa-copy.c | 2 +-
gcc/tree-ssa-copyrename.c | 4 +-
gcc/tree-ssa-dce.c | 13 ++--
gcc/tree-ssa-dom.c | 8 +--
gcc/tree-ssa-forwprop.c | 2 +-
gcc/tree-ssa-live.c | 32 ++++-----
gcc/tree-ssa-loop-im.c | 8 +--
gcc/tree-ssa-loop-manip.c | 24 +++----
gcc/tree-ssa-math-opts.c | 10 +--
gcc/tree-ssa-pre.c | 16 ++---
gcc/tree-ssa-propagate.c | 8 +--
gcc/tree-ssa-reassoc.c | 8 ++-
gcc/tree-ssa-sccvn.c | 2 +-
gcc/tree-ssa-sink.c | 4 +-
gcc/tree-ssa-structalias.c | 4 +-
gcc/tree-ssa-tail-merge.c | 32 ++++-----
gcc/tree-ssa-ter.c | 2 +-
gcc/tree-ssa-threadupdate.c | 10 +--
gcc/tree-ssa-uncprop.c | 9 +--
gcc/tree-ssa-uninit.c | 4 +-
gcc/tree-ssa.c | 6 +-
gcc/tree-stdarg.c | 8 +--
gcc/tree-switch-conversion.c | 2 +-
gcc/tree-vect-generic.c | 2 +-
gcc/tree-vectorizer.c | 6 +-
gcc/tree-vrp.c | 20 +++---
gcc/tsan.c | 2 +-
gcc/ubsan.c | 2 +-
gcc/value-prof.c | 6 +-
gcc/var-tracking.c | 28 ++++----
gcc/vtable-verify.c | 2 +-
gcc/web.c | 6 +-
170 files changed, 1112 insertions(+), 1030 deletions(-)
--
1.7.11.7