Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2:ARM
libgcj43
prefetch-schedule-barrier
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File prefetch-schedule-barrier of Package libgcj43
Index: gcc/rtl.h =================================================================== *** gcc/rtl.h.orig --- gcc/rtl.h *************** struct rtx_def GTY((chain_next ("RTX_NEX *** 271,277 **** 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. */ 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; --- 271,279 ---- 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 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; *************** do { \ *** 1366,1371 **** --- 1368,1377 ---- 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. */ Index: gcc/sched-deps.c =================================================================== *** gcc/sched-deps.c.orig --- gcc/sched-deps.c *************** sched_analyze_2 (struct deps *deps, rtx *** 1824,1829 **** --- 1824,1834 ---- flush_pending_lists (deps, insn, true, false); break; + case PREFETCH: + if (PREFETCH_SCHEDULE_BARRIER_P (x)) + reg_pending_barrier = TRUE_BARRIER; + break; + case UNSPEC_VOLATILE: flush_pending_lists (deps, insn, true, true); /* FALLTHRU */ Index: gcc/doc/rtl.texi =================================================================== *** gcc/doc/rtl.texi.orig --- gcc/doc/rtl.texi *************** Stored in the @code{volatil} field and p *** 859,864 **** --- 859,872 ---- Most uses of @code{SYMBOL_REF_FLAG} are historic and may be subsumed by @code{SYMBOL_REF_FLAGS}. Certainly use of @code{SYMBOL_REF_FLAGS} is mandatory if the target requires more than one bit of storage. + + @findex PREFETCH_SCHEDULE_BARRIER_P + @cindex @code{prefetch} and @samp{/v} + @cindex @code{volatile}, in @code{prefetch} + @item PREFETCH_SCHEDULE_BARRIER_P (@var{x}) + In a @code{prefetch}, indicates that the prefetch is a scheduling barrier. + No other INSNs will be moved over it. + Stored in the @code{volatil} field and printed as @samp{/v}. @end table These are the fields to which the above macros refer: *************** In an @code{insn}, 1 means the insn has *** 1006,1011 **** --- 1014,1022 ---- In @code{label_ref} and @code{reg_label} expressions, 1 means a reference to a non-local label. + In @code{prefetch} expressions, 1 means that the containing insn is a + scheduling barrier. + In an RTL dump, this flag is represented as @samp{/v}. @end table
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor