diff options
author | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-09-07 10:30:32 +0000 |
---|---|---|
committer | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-09-07 10:30:32 +0000 |
commit | 6540132cfbeac557386a8b50d64fa8d5e8e71116 (patch) | |
tree | 179ca9694e2adeee4f8201d3c4d57be345602003 /gcc/rtl.h | |
parent | cbc7195ae7c6c430ac214fd8c4935f946365c67d (diff) | |
download | gcc-6540132cfbeac557386a8b50d64fa8d5e8e71116.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151475 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h index c5839df4ecb..88b93f19fb0 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. */ |