@@ -17,8 +17,6 @@ limitations under the License.
17
17
#include " midend.h"
18
18
#include " midend/actionsInlining.h"
19
19
#include " midend/inlining.h"
20
- #include " midend/moveDeclarations.h"
21
- #include " midend/uniqueNames.h"
22
20
#include " midend/removeReturns.h"
23
21
#include " midend/removeParameters.h"
24
22
#include " midend/moveConstructors.h"
@@ -28,19 +26,18 @@ limitations under the License.
28
26
#include " midend/simplifyKey.h"
29
27
#include " midend/parserUnroll.h"
30
28
#include " midend/specialize.h"
31
- #include " midend/simplifyExpressions.h"
32
- #include " midend/simplifyParsers.h"
33
- #include " midend/resetHeaders.h"
34
29
#include " midend/simplifySelect.h"
35
- #include " midend/simplifyDefUse .h"
30
+ #include " frontends/p4/simplifyParsers .h"
36
31
#include " frontends/p4/typeMap.h"
37
32
#include " frontends/p4/evaluator/evaluator.h"
38
33
#include " frontends/common/resolveReferences/resolveReferences.h"
39
34
#include " frontends/p4/toP4/toP4.h"
40
35
#include " frontends/p4/simplify.h"
41
36
#include " frontends/p4/unusedDeclarations.h"
37
+ #include " frontends/p4/moveDeclarations.h"
42
38
#include " frontends/common/constantFolding.h"
43
39
#include " frontends/p4/strengthReduction.h"
40
+ #include " frontends/p4/uniqueNames.h"
44
41
45
42
namespace P4Test {
46
43
@@ -55,14 +52,9 @@ MidEnd::MidEnd(CompilerOptions& options) {
55
52
// TODO: improve copy propagation
56
53
// TODO: simplify actions which are too complex
57
54
// TODO: lower errors to integers
55
+ // TODO: handle bit-slices as out arguments
56
+ // TODO: remove control-flow from parsers
58
57
addPasses ({
59
- new P4::SimplifyParsers (&refMap),
60
- new P4::ResetHeaders (&refMap, &typeMap),
61
- new P4::UniqueNames (&refMap), // Give each local declaration a unique internal name
62
- new P4::MoveDeclarations (), // Move all local declarations to the beginning
63
- new P4::MoveInitializers (),
64
- new P4::SimplifyDefUse (&refMap, &typeMap),
65
- new P4::SimplifyExpressions (&refMap, &typeMap),
66
58
new P4::RemoveReturns (&refMap),
67
59
new P4::MoveConstructors (&refMap),
68
60
new P4::RemoveAllUnusedDeclarations (&refMap),
@@ -80,11 +72,12 @@ MidEnd::MidEnd(CompilerOptions& options) {
80
72
// Parser loop unrolling: TODO
81
73
// new P4::ParsersUnroll(true, &refMap, &typeMap),
82
74
new P4::LocalizeAllActions (&refMap),
75
+ new P4::UniqueNames (&refMap),
83
76
new P4::UniqueParameters (&refMap),
84
77
new P4::ClearTypeMap (&typeMap), // table types have changed
85
78
new P4::SimplifyControlFlow (&refMap, &typeMap),
86
- new P4::RemoveParameters (&refMap, &typeMap),
87
- new P4::ClearTypeMap (& typeMap), // table types have changed
79
+ new P4::RemoveTableParameters (&refMap, &typeMap),
80
+ new P4::RemoveActionParameters (&refMap, & typeMap),
88
81
new P4::SimplifyKey (&refMap, &typeMap,
89
82
new P4::NonLeftValue (&refMap, &typeMap)),
90
83
new P4::RemoveExits (&refMap, &typeMap),
0 commit comments