aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Poulhiès <poulhies@adacore.com>2024-06-03 09:43:52 +0200
committerMarc Poulhiès <poulhies@adacore.com>2024-06-03 10:57:24 +0200
commit5316c35b13cf536bf85eca6eb4b557ddd5d8c201 (patch)
treea43446f04b6085959e994e9be3eff5a70a8ac943
parent2a616df8260aeabe00a28ea3870dba5577dbbe66 (diff)
downloadgcc-5316c35b13cf536bf85eca6eb4b557ddd5d8c201.zip
gcc-5316c35b13cf536bf85eca6eb4b557ddd5d8c201.tar.gz
gcc-5316c35b13cf536bf85eca6eb4b557ddd5d8c201.tar.bz2
pair-fusion: fix for older GCC
Older GCCs fail with: .../gcc/pair-fusion.cc: In member function ‘bool pair_fusion_bb_info::fuse_pair(bool, unsigned int, int, rtl_ssa::insn_info*, rtl_ssa::in sn_info*, base_cand&, const rtl_ssa::insn_range_info&)’: .../gcc/pair-fusion.cc:1790:40: error: ‘writeback’ is not a class, namespace, or enumeration if (m_pass->should_handle_writeback (writeback::ALL) Renaming the enum type works around the name conflict with the local variable and also prevents future similar conflicts. gcc/ChangeLog: * pair-fusion.h (enum class writeback): Rename to... (enum class writeback_type): ...this. (struct pair_fusion): Adjust type name after renaming. * pair-fusion.cc (pair_fusion_bb_info::track_access): Likewise. (pair_fusion_bb_info::fuse_pair): Likewise. (pair_fusion::process_block): Likewise.
-rw-r--r--gcc/pair-fusion.cc6
-rw-r--r--gcc/pair-fusion.h4
2 files changed, 5 insertions, 5 deletions
diff --git a/gcc/pair-fusion.cc b/gcc/pair-fusion.cc
index 9f897ac..26b2284 100644
--- a/gcc/pair-fusion.cc
+++ b/gcc/pair-fusion.cc
@@ -426,7 +426,7 @@ pair_fusion_bb_info::track_access (insn_info *insn, bool load_p, rtx mem)
return;
// Ignore writeback accesses if the hook says to do so.
- if (!m_pass->should_handle_writeback (writeback::EXISTING)
+ if (!m_pass->should_handle_writeback (writeback_type::EXISTING)
&& GET_RTX_CLASS (GET_CODE (XEXP (mem, 0))) == RTX_AUTOINC)
return;
@@ -1787,7 +1787,7 @@ pair_fusion_bb_info::fuse_pair (bool load_p,
// update of the base register and try and fold it in to make this into a
// writeback pair.
insn_info *trailing_add = nullptr;
- if (m_pass->should_handle_writeback (writeback::ALL)
+ if (m_pass->should_handle_writeback (writeback_type::ALL)
&& !writeback_effect
&& (!load_p || (!refers_to_regno_p (base_regno, base_regno + 1,
XEXP (pats[0], 0), nullptr)
@@ -2996,7 +2996,7 @@ void pair_fusion::process_block (bb_info *bb)
rtx pat = PATTERN (rti);
bool load_p;
if (reload_completed
- && should_handle_writeback (writeback::ALL)
+ && should_handle_writeback (writeback_type::ALL)
&& pair_mem_insn_p (rti, load_p))
try_promote_writeback (insn, load_p);
diff --git a/gcc/pair-fusion.h b/gcc/pair-fusion.h
index 2a38dc8..45e4edc 100644
--- a/gcc/pair-fusion.h
+++ b/gcc/pair-fusion.h
@@ -75,7 +75,7 @@ struct alias_walker;
// When querying should_handle_writeback, this enum is used to
// qualify which opportunities we are asking about.
-enum class writeback {
+enum class writeback_type {
// Only those writeback opportunities that arise from existing
// auto-increment accesses.
EXISTING,
@@ -123,7 +123,7 @@ struct pair_fusion {
// Return true if we should try to handle writeback opportunities.
// WHICH determines the kinds of writeback opportunities the caller
// is asking about.
- virtual bool should_handle_writeback (enum writeback which) = 0;
+ virtual bool should_handle_writeback (writeback_type which) = 0;
// Given BASE_MEM, the mem from the lower candidate access for a pair,
// and LOAD_P (true if the access is a load), check if we should proceed