aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>2009-09-07 10:30:32 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2009-09-07 10:30:32 +0000
commit3fce100b4014ea58b55e5f8b6a8475b6eff3b3e9 (patch)
tree179ca9694e2adeee4f8201d3c4d57be345602003 /gcc/rtl.h
parent2dcbb2c0bf2fcdfec60dab2105ccd93815a30005 (diff)
downloadgcc-3fce100b4014ea58b55e5f8b6a8475b6eff3b3e9.zip
gcc-3fce100b4014ea58b55e5f8b6a8475b6eff3b3e9.tar.gz
gcc-3fce100b4014ea58b55e5f8b6a8475b6eff3b3e9.tar.bz2
rtl.h (PREFETCH_SCHEDULE_BARRIER_P): New macro.
2009-09-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * rtl.h (PREFETCH_SCHEDULE_BARRIER_P): New macro. * sched-deps.c (sched_analyze_2): Make prefetches a hard barrier when volatile flag is set. * doc/rtl.texi (PREFETCH_SCHEDULE_BARRIER_P): Add documentation pieces. From-SVN: r151475
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index c5839df..88b93f1 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -271,7 +271,9 @@ struct GTY((chain_next ("RTX_NEXT (&%h)"),
1 in a SUBREG with a negative value.
1 in a LABEL_REF, REG_LABEL_TARGET or REG_LABEL_OPERAND note for a
non-local label.
- In a SYMBOL_REF, this flag is used for machine-specific purposes. */
+ In a SYMBOL_REF, this flag is used for machine-specific purposes.
+ In a PREFETCH, this flag indicates that it should be considered a scheduling
+ barrier. */
unsigned int volatil : 1;
/* 1 in a MEM referring to a field of an aggregate.
0 if the MEM was a variable or the result of a * operator in C;
@@ -1423,6 +1425,10 @@ do { \
offset within that block. */
#define SYMBOL_REF_BLOCK_OFFSET(RTX) (BLOCK_SYMBOL_CHECK (RTX)->offset)
+/* True if RTX is flagged to be a scheduling barrier. */
+#define PREFETCH_SCHEDULE_BARRIER_P(RTX) \
+ (RTL_FLAG_CHECK1("PREFETCH_SCHEDULE_BARRIER_P", (RTX), PREFETCH)->volatil)
+
/* Indicate whether the machine has any sort of auto increment addressing.
If not, we can avoid checking for REG_INC notes. */