From b0ca9a6eb1406a60eec566cf302790bee89879af Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 18 Apr 2023 16:58:26 +0200 Subject: [PATCH 150/157] [Backport][SME] Add operator* to gimple_stmt_iterator and gphi_iterator Reference: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=c39cdd9e654540f74cd2478019c40f1611554a44 This allows STL style iterator dereference. It's the same as gsi_stmt () or .phi (). * gimple-iterator.h (gimple_stmt_iterator::operator*): Add. (gphi_iterator::operator*): Likewise. --- gcc/gimple-iterator.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/gimple-iterator.h b/gcc/gimple-iterator.h index 216ebee24..5d281e4f7 100644 --- a/gcc/gimple-iterator.h +++ b/gcc/gimple-iterator.h @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see struct gimple_stmt_iterator { + gimple *operator * () const { return ptr; } + /* Sequence node holding the current statement. */ gimple_seq_node ptr; @@ -38,6 +40,8 @@ struct gimple_stmt_iterator /* Iterator over GIMPLE_PHI statements. */ struct gphi_iterator : public gimple_stmt_iterator { + gphi *operator * () const { return as_a (ptr); } + gphi *phi () const { return as_a (ptr); -- 2.33.0