diff options
author | Tom de Vries <tom@codesourcery.com> | 2015-12-16 13:49:07 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2015-12-16 13:49:07 +0000 |
commit | 597a8ab9c6f57c416c2b0a734c2098fa0335e628 (patch) | |
tree | 2932f5cc1548ca0542477812be3dbb8f67821ac7 /gcc/opts.c | |
parent | f47cda24579db16228140f8849e9c456093c92ab (diff) | |
download | gcc-597a8ab9c6f57c416c2b0a734c2098fa0335e628.zip gcc-597a8ab9c6f57c416c2b0a734c2098fa0335e628.tar.gz gcc-597a8ab9c6f57c416c2b0a734c2098fa0335e628.tar.bz2 |
Add pass_oacc_ipa
2015-12-16 Tom de Vries <tom@codesourcery.com>
* opts.c (default_options_optimization): Set fipa-pta on by default for
fopenacc.
* passes.def: Move kernels pass group to pass_ipa_oacc.
* tree-pass.h (make_pass_oacc_kernels2): Remove.
(make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): Declare.
* tree-ssa-loop.c (pass_oacc_kernels2, make_pass_oacc_kernels2): Remove.
(pass_ipa_oacc, pass_ipa_oacc_kernels): New pass.
(make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): New function.
* tree-ssa-structalias.c (pass_ipa_pta::clone): New function.
* g++.dg/ipa/devirt-37.C: Update for new fre2 pass.
* g++.dg/ipa/devirt-40.C: Same.
* g++.dg/tree-ssa/pr61034.C: Same.
* gcc.dg/ipa/ipa-pta-1.c: Update for new pta1 pass.
* gcc.dg/ipa/ipa-pta-10.c: Same.
* gcc.dg/ipa/ipa-pta-11.c: Same.
* gcc.dg/ipa/ipa-pta-14.c: Same.
* gcc.dg/ipa/ipa-pta-16.c: Same.
* gcc.dg/ipa/ipa-pta-2.c: Same.
* gcc.dg/ipa/ipa-pta-5.c: Same.
* gcc.dg/ipa/ipa-pta-6.c: Same.
* gcc.dg/torture/ipa-pta-1.c: Same.
* gcc.dg/ipa/ipa-pta-13.c: Update for new fre2 and pta1 pass.
* gcc.dg/ipa/ipa-pta-3.c: Same.
* gcc.dg/ipa/ipa-pta-4.c: Same.
From-SVN: r231690
Diffstat (limited to 'gcc/opts.c')
-rw-r--r-- | gcc/opts.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -560,6 +560,7 @@ default_options_optimization (struct gcc_options *opts, { unsigned int i; int opt2; + bool openacc_mode = false; /* Scan to see what optimization level has been specified. That will determine the default value of many flags. */ @@ -619,6 +620,11 @@ default_options_optimization (struct gcc_options *opts, opts->x_optimize_debug = 1; break; + case OPT_fopenacc: + if (opt->value) + openacc_mode = true; + break; + default: /* Ignore other options in this prescan. */ break; @@ -633,6 +639,10 @@ default_options_optimization (struct gcc_options *opts, /* -O2 param settings. */ opt2 = (opts->x_optimize >= 2); + if (openacc_mode + && !opts_set->x_flag_ipa_pta) + opts->x_flag_ipa_pta = true; + /* Track fields in field-sensitive alias analysis. */ maybe_set_param_value (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE, |