Index: src/InitTweak/FixGlobalInit.cc
===================================================================
--- src/InitTweak/FixGlobalInit.cc	(revision 5ccb10d750e81ef921035bdd254327997acd80ae)
+++ src/InitTweak/FixGlobalInit.cc	(revision 9aaac6e93085196ddc22e508c0fdfa1ee11ae660)
@@ -15,13 +15,22 @@
 
 #include "FixGlobalInit.h"
-#include "InitTweak.h"
-#include "SynTree/Declaration.h"
-#include "SynTree/Type.h"
-#include "SynTree/Expression.h"
-#include "SynTree/Statement.h"
-#include "SynTree/Initializer.h"
-#include "SynTree/Visitor.h"
-#include "SynTree/Attribute.h"
-#include <algorithm>
+
+#include <cassert>                 // for assert
+#include <stddef.h>                // for NULL
+#include <algorithm>               // for replace_if
+
+#include "Common/SemanticError.h"  // for SemanticError
+#include "Common/UniqueName.h"     // for UniqueName
+#include "InitTweak.h"             // for isIntrinsicSingleArgCallStmt
+#include "Parser/LinkageSpec.h"    // for C
+#include "SynTree/Attribute.h"     // for Attribute
+#include "SynTree/Constant.h"      // for Constant
+#include "SynTree/Declaration.h"   // for FunctionDecl, ObjectDecl, Declaration
+#include "SynTree/Expression.h"    // for ConstantExpr, Expression (ptr only)
+#include "SynTree/Initializer.h"   // for ConstructorInit, Initializer
+#include "SynTree/Label.h"         // for Label, noLabels
+#include "SynTree/Statement.h"     // for CompoundStmt, Statement (ptr only)
+#include "SynTree/Type.h"          // for Type, Type::StorageClasses, Functi...
+#include "SynTree/Visitor.h"       // for acceptAll, Visitor
 
 namespace InitTweak {
Index: src/InitTweak/FixGlobalInit.h
===================================================================
--- src/InitTweak/FixGlobalInit.h	(revision 5ccb10d750e81ef921035bdd254327997acd80ae)
+++ src/InitTweak/FixGlobalInit.h	(revision 9aaac6e93085196ddc22e508c0fdfa1ee11ae660)
@@ -16,9 +16,8 @@
 #pragma once
 
-#include <string>
-#include <list>
+#include <list>    // for list
+#include <string>  // for string
 
-#include "SynTree/SynTree.h"
-#include "SynTree/Declaration.h"
+class Declaration;
 
 namespace InitTweak {
Index: src/InitTweak/FixInit.cc
===================================================================
--- src/InitTweak/FixInit.cc	(revision 5ccb10d750e81ef921035bdd254327997acd80ae)
+++ src/InitTweak/FixInit.cc	(revision 9aaac6e93085196ddc22e508c0fdfa1ee11ae660)
@@ -13,34 +13,50 @@
 // Update Count     : 74
 //
-
-#include <stack>
-#include <list>
-#include <iterator>
-#include <algorithm>
-#include <unordered_map>
-#include <unordered_set>
-
-#include "InitTweak.h"
-#include "GenInit.h"
 #include "FixInit.h"
-#include "FixGlobalInit.h"
-#include "CodeGen/GenType.h"  // for warning/error messages
+
+#include <stddef.h>                    // for NULL
+#include <algorithm>                   // for set_difference, copy_if
+#include <cassert>                     // for assert, safe_dynamic_cast
+#include <iostream>                    // for operator<<, ostream, basic_ost...
+#include <iterator>                    // for insert_iterator, back_inserter
+#include <list>                        // for _List_iterator, list, list<>::...
+#include <map>                         // for _Rb_tree_iterator, _Rb_tree_co...
+#include <memory>                      // for allocator_traits<>::value_type
+#include <set>                         // for set, set<>::value_type
+#include <unordered_map>               // for unordered_map, unordered_map<>...
+#include <unordered_set>               // for unordered_set
+#include <utility>                     // for pair
+
+#include "CodeGen/GenType.h"           // for genPrettyType
 #include "CodeGen/OperatorTable.h"
-#include "Common/PassVisitor.h"
-#include "GenPoly/DeclMutator.h"
-#include "GenPoly/PolyMutator.h"
-#include "ResolvExpr/Resolver.h"
-#include "ResolvExpr/typeops.h"
-#include "SymTab/Autogen.h"
-#include "SymTab/Indexer.h"
-#include "SynTree/AddStmtVisitor.h"
-#include "SynTree/Attribute.h"
-#include "SynTree/Declaration.h"
-#include "SynTree/Expression.h"
-#include "SynTree/Initializer.h"
-#include "SynTree/Mutator.h"
-#include "SynTree/Statement.h"
-#include "SynTree/Type.h"
-#include "Tuples/Tuples.h"
+#include "Common/PassVisitor.h"        // for PassVisitor, WithStmtsToAdd
+#include "Common/SemanticError.h"      // for SemanticError
+#include "Common/UniqueName.h"         // for UniqueName
+#include "Common/utility.h"            // for CodeLocation, ValueGuard, toSt...
+#include "FixGlobalInit.h"             // for fixGlobalInit
+#include "GenInit.h"                   // for genCtorDtor
+#include "GenPoly/DeclMutator.h"       // for DeclMutator
+#include "GenPoly/GenPoly.h"           // for getFunctionType
+#include "GenPoly/PolyMutator.h"       // for PolyMutator
+#include "InitTweak.h"                 // for getFunctionName, getCallArg
+#include "Parser/LinkageSpec.h"        // for C, Spec, Cforall, isBuiltin
+#include "ResolvExpr/Resolver.h"       // for findVoidExpression
+#include "ResolvExpr/typeops.h"        // for typesCompatible
+#include "SymTab/Autogen.h"            // for genImplicitCall
+#include "SymTab/Indexer.h"            // for Indexer
+#include "SymTab/Mangler.h"            // for Mangler
+#include "SynTree/AddStmtVisitor.h"    // for AddStmtVisitor
+#include "SynTree/Attribute.h"         // for Attribute
+#include "SynTree/Constant.h"          // for Constant
+#include "SynTree/Declaration.h"       // for ObjectDecl, FunctionDecl, Decl...
+#include "SynTree/Expression.h"        // for UniqueExpr, VariableExpr, Unty...
+#include "SynTree/Initializer.h"       // for ConstructorInit, SingleInit
+#include "SynTree/Label.h"             // for Label, noLabels, operator<
+#include "SynTree/Mutator.h"           // for mutateAll, Mutator, maybeMutate
+#include "SynTree/Statement.h"         // for ExprStmt, CompoundStmt, Branch...
+#include "SynTree/Type.h"              // for Type, Type::StorageClasses
+#include "SynTree/TypeSubstitution.h"  // for TypeSubstitution, operator<<
+#include "SynTree/Visitor.h"           // for acceptAll, maybeAccept
+#include "Tuples/Tuples.h"             // for isTtype
 
 bool ctordtorp = false; // print all debug
Index: src/InitTweak/FixInit.h
===================================================================
--- src/InitTweak/FixInit.h	(revision 5ccb10d750e81ef921035bdd254327997acd80ae)
+++ src/InitTweak/FixInit.h	(revision 9aaac6e93085196ddc22e508c0fdfa1ee11ae660)
@@ -16,10 +16,8 @@
 #pragma once
 
-#include <string>
-#include <list>
+#include <list>    // for list
+#include <string>  // for string
 
-#include "SynTree/SynTree.h"
-#include "SynTree/Declaration.h"
-#include "SynTree/Mutator.h"
+class Declaration;
 
 namespace InitTweak {
Index: src/InitTweak/GenInit.cc
===================================================================
--- src/InitTweak/GenInit.cc	(revision 5ccb10d750e81ef921035bdd254327997acd80ae)
+++ src/InitTweak/GenInit.cc	(revision 9aaac6e93085196ddc22e508c0fdfa1ee11ae660)
@@ -13,29 +13,32 @@
 // Update Count     : 183
 //
-
-#include <stack>
-#include <list>
-
-#include "InitTweak.h"
 #include "GenInit.h"
 
-#include "Common/PassVisitor.h"
+#include <stddef.h>                // for NULL
+#include <algorithm>               // for any_of
+#include <cassert>                 // for assert, safe_dynamic_cast, assertf
+#include <iterator>                // for back_inserter, inserter, back_inse...
+#include <list>                    // for _List_iterator, list
+
 #include "CodeGen/OperatorTable.h"
-
-#include "GenPoly/DeclMutator.h"
-#include "GenPoly/PolyMutator.h"
-#include "GenPoly/ScopedSet.h"
-
-#include "ResolvExpr/typeops.h"
-
-#include "SynTree/Declaration.h"
-#include "SynTree/Expression.h"
-#include "SynTree/Initializer.h"
-#include "SynTree/Mutator.h"
-#include "SynTree/Statement.h"
-#include "SynTree/Type.h"
-
-#include "SymTab/Autogen.h"
-#include "SymTab/Mangler.h"
+#include "Common/PassVisitor.h"    // for PassVisitor, WithGuards, WithShort...
+#include "Common/SemanticError.h"  // for SemanticError
+#include "Common/UniqueName.h"     // for UniqueName
+#include "Common/utility.h"        // for ValueGuard, maybeClone
+#include "GenPoly/DeclMutator.h"   // for DeclMutator
+#include "GenPoly/GenPoly.h"       // for getFunctionType, isPolyType
+#include "GenPoly/ScopedSet.h"     // for ScopedSet, ScopedSet<>::const_iter...
+#include "InitTweak.h"             // for isConstExpr, InitExpander, checkIn...
+#include "Parser/LinkageSpec.h"    // for isOverridable, C
+#include "SymTab/Autogen.h"        // for genImplicitCall, SizeType
+#include "SymTab/Mangler.h"        // for Mangler
+#include "SynTree/Declaration.h"   // for ObjectDecl, DeclarationWithType
+#include "SynTree/Expression.h"    // for VariableExpr, UntypedExpr, Address...
+#include "SynTree/Initializer.h"   // for ConstructorInit, SingleInit, Initi...
+#include "SynTree/Label.h"         // for Label
+#include "SynTree/Mutator.h"       // for mutateAll
+#include "SynTree/Statement.h"     // for CompoundStmt, ImplicitCtorDtorStmt
+#include "SynTree/Type.h"          // for Type, ArrayType, Type::Qualifiers
+#include "SynTree/Visitor.h"       // for acceptAll, maybeAccept
 
 namespace InitTweak {
Index: src/InitTweak/GenInit.h
===================================================================
--- src/InitTweak/GenInit.h	(revision 5ccb10d750e81ef921035bdd254327997acd80ae)
+++ src/InitTweak/GenInit.h	(revision 9aaac6e93085196ddc22e508c0fdfa1ee11ae660)
@@ -16,10 +16,8 @@
 #pragma once
 
-#include <string>
-#include <list>
+#include <list>               // for list
+#include <string>             // for string
 
-#include "SynTree/SynTree.h"
-#include "SynTree/Declaration.h"
-#include "SynTree/Mutator.h"
+#include "SynTree/SynTree.h"  // for Visitor Nodes
 
 namespace InitTweak {
Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision 5ccb10d750e81ef921035bdd254327997acd80ae)
+++ src/InitTweak/InitTweak.cc	(revision 9aaac6e93085196ddc22e508c0fdfa1ee11ae660)
@@ -1,11 +1,28 @@
-#include <algorithm>
+#include <stddef.h>                // for NULL
+#include <algorithm>               // for find, all_of
+#include <cassert>                 // for assertf, assert, safe_dynamic_cast
+#include <iostream>                // for ostream, cerr, endl
+#include <iterator>                // for back_insert_iterator, back_inserter
+#include <memory>                  // for __shared_ptr
+
+#include "Common/SemanticError.h"  // for SemanticError
+#include "Common/UniqueName.h"     // for UniqueName
+#include "Common/utility.h"        // for toString, deleteAll, maybeClone
+#include "GenPoly/GenPoly.h"       // for getFunctionType
 #include "InitTweak.h"
-#include "SynTree/Visitor.h"
-#include "SynTree/Statement.h"
-#include "SynTree/Initializer.h"
-#include "SynTree/Expression.h"
-#include "SynTree/Attribute.h"
-#include "GenPoly/GenPoly.h"
-#include "ResolvExpr/typeops.h"
+#include "Parser/LinkageSpec.h"    // for Spec, isBuiltin, Intrinsic
+#include "ResolvExpr/typeops.h"    // for typesCompatibleIgnoreQualifiers
+#include "SymTab/Indexer.h"        // for Indexer
+#include "SynTree/Attribute.h"     // for Attribute
+#include "SynTree/Constant.h"      // for Constant
+#include "SynTree/Declaration.h"   // for ObjectDecl, DeclarationWithType
+#include "SynTree/Expression.h"    // for Expression, UntypedExpr, Applicati...
+#include "SynTree/Initializer.h"   // for Initializer, ListInit, Designation
+#include "SynTree/Label.h"         // for Label, noLabels
+#include "SynTree/Statement.h"     // for CompoundStmt, ExprStmt, BranchStmt
+#include "SynTree/Type.h"          // for FunctionType, ArrayType, PointerType
+#include "SynTree/Visitor.h"       // for Visitor, maybeAccept
+
+class UntypedValofExpr;
 
 namespace InitTweak {
Index: src/InitTweak/InitTweak.h
===================================================================
--- src/InitTweak/InitTweak.h	(revision 5ccb10d750e81ef921035bdd254327997acd80ae)
+++ src/InitTweak/InitTweak.h	(revision 9aaac6e93085196ddc22e508c0fdfa1ee11ae660)
@@ -16,10 +16,9 @@
 #pragma once
 
-#include <string>
-#include <list>
+#include <list>               // for list
+#include <memory>             // for shared_ptr
+#include <string>             // for string, allocator
 
-#include "SynTree/SynTree.h"
-#include "SynTree/Declaration.h"
-#include "SynTree/Mutator.h"
+#include "SynTree/SynTree.h"  // for Visitor Nodes
 
 // helper functions for initialization
@@ -99,4 +98,5 @@
 
 		class ExpanderImpl;
+
 		typedef std::list< Expression * > IndexList;
 	private:
