Mercurial > hg > CbC > CbC_gcc
comparison gcc/go/gofrontend/go-optimize.h @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 // go-optimize.h -- Go frontend optimizer flags. -*- C++ -*- | |
2 | |
3 // Copyright 2011 The Go Authors. All rights reserved. | |
4 // Use of this source code is governed by a BSD-style | |
5 // license that can be found in the LICENSE file. | |
6 | |
7 #ifndef GO_OPTIMIZE_H | |
8 #define GO_OPTIMIZE_H | |
9 | |
10 // This class manages different arguments to -fgo-optimize-XXX. If you | |
11 // want to create a new optimization, create a variable of this type with the | |
12 // name to use for XXX. You can then use is_enabled to see whether | |
13 // the -fgo-optimize-XXX option was used on the command line. | |
14 | |
15 class Go_optimize | |
16 { | |
17 public: | |
18 Go_optimize(const char* name); | |
19 | |
20 // Whether this optimizaiton was enabled. | |
21 bool | |
22 is_enabled() const | |
23 { return this->is_enabled_; } | |
24 | |
25 // Enable an optimization by name. Return true if found. | |
26 static bool | |
27 enable_by_name(const char*); | |
28 | |
29 private: | |
30 // The next optimize flag. These are not in any order. | |
31 Go_optimize* next_; | |
32 // The name of this optimization pass. | |
33 const char* name_; | |
34 // Whether this dump was enabled. | |
35 bool is_enabled_; | |
36 }; | |
37 | |
38 #endif // !defined(GO_OPTIMIZE_H) |