aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sparc/sparc-opts.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2011-11-30 08:10:24 -0800
committerRichard Henderson <rth@gcc.gnu.org>2011-11-30 08:10:24 -0800
commit2e65f38f1bf1f04c530bfeb6b543f084564eec3d (patch)
treef7ebc47322ba3389b5583ce189866e18f3530ba4 /gcc/config/sparc/sparc-opts.h
parent99ee7887c639daad4ae2a9440eef9bab15da58c6 (diff)
downloadgcc-2e65f38f1bf1f04c530bfeb6b543f084564eec3d.zip
gcc-2e65f38f1bf1f04c530bfeb6b543f084564eec3d.tar.gz
gcc-2e65f38f1bf1f04c530bfeb6b543f084564eec3d.tar.bz2
sparc: Add -mmemory-model command-line option.
* config/sparc/sparc-opts.h (enum sparc_memory_model_type): New. * config/sparc/sparc.opt (mmemory-model=): New option. * doc/invoke.texi (Sparc Options): Document it. * config/sparc/sparc.c (sparc_option_override): Provide default for sparc_memory_model. (sparc_emit_membar_for_model): Omit barrier combinations that are implied by the memory model. From-SVN: r181853
Diffstat (limited to 'gcc/config/sparc/sparc-opts.h')
-rw-r--r--gcc/config/sparc/sparc-opts.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc-opts.h b/gcc/config/sparc/sparc-opts.h
index 266cb14..7682eb9 100644
--- a/gcc/config/sparc/sparc-opts.h
+++ b/gcc/config/sparc/sparc-opts.h
@@ -47,4 +47,14 @@ enum processor_type {
PROCESSOR_NATIVE
};
+/* Sparc system memory model. See Appendix D in the Sparc V9 manual
+ for formal specification, and Appendix J for more discussion. */
+enum sparc_memory_model_type {
+ SMM_DEFAULT, /* Uninitialized. */
+ SMM_RMO, /* Relaxed Memory Order. */
+ SMM_PSO, /* Partial Store Order. */
+ SMM_TSO, /* Total Store Order. */
+ SMM_SC /* Sequential Consistency. */
+};
+
#endif