summaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-in.c
diff options
context:
space:
mode:
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>2017-08-14 14:33:54 +0000
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>2017-08-14 14:33:54 +0000
commit5321ffedee1b4e05b7fa56cab64c595516fd9533 (patch)
treeffda4ecce65bb72e54a07d8ed2c09288fa207b43 /gcc/tree-streamer-in.c
parentb31856d3ac23cf3dab1e95cb96230dc81564c84a (diff)
downloadgcc-hsa.tar.gz
Merged trunk revision 251080 into the hsa branchhsa
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/hsa@251093 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-streamer-in.c')
-rw-r--r--gcc/tree-streamer-in.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c
index d7b6d224ab5..600470080aa 100644
--- a/gcc/tree-streamer-in.c
+++ b/gcc/tree-streamer-in.c
@@ -32,7 +32,10 @@ along with GCC; see the file COPYING3. If not see
#include "builtins.h"
#include "ipa-chkp.h"
#include "gomp-constants.h"
+#include "stringpool.h"
+#include "attribs.h"
#include "asan.h"
+#include "opts.h"
/* Read a STRING_CST from the string table in DATA_IN using input
@@ -769,6 +772,21 @@ lto_input_ts_function_decl_tree_pointers (struct lto_input_block *ib,
DECL_FUNCTION_SPECIFIC_TARGET (expr) = stream_read_tree (ib, data_in);
#endif
DECL_FUNCTION_SPECIFIC_OPTIMIZATION (expr) = stream_read_tree (ib, data_in);
+#ifdef ACCEL_COMPILER
+ {
+ tree opts = DECL_FUNCTION_SPECIFIC_OPTIMIZATION (expr);
+ if (opts)
+ {
+ struct gcc_options tmp;
+ init_options_struct (&tmp, NULL);
+ cl_optimization_restore (&tmp, TREE_OPTIMIZATION (opts));
+ finish_options (&tmp, &global_options_set, UNKNOWN_LOCATION);
+ opts = build_optimization_node (&tmp);
+ finalize_options_struct (&tmp);
+ DECL_FUNCTION_SPECIFIC_OPTIMIZATION (expr) = opts;
+ }
+ }
+#endif
/* If the file contains a function with an EH personality set,
then it was compiled with -fexceptions. In that case, initialize