diff options
author | Richard Henderson <rth@redhat.com> | 2011-11-30 08:10:24 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-11-30 08:10:24 -0800 |
commit | 2e65f38f1bf1f04c530bfeb6b543f084564eec3d (patch) | |
tree | f7ebc47322ba3389b5583ce189866e18f3530ba4 /gcc/config/sparc/sparc-opts.h | |
parent | 99ee7887c639daad4ae2a9440eef9bab15da58c6 (diff) | |
download | gcc-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.h | 10 |
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 |