Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision f73f5f4a43b47e13dccd89c1a9c48780a30c1986)
+++ src/CodeGen/CodeGenerator.cc	(revision 3268a58872c55c1ac4a24b9e6c5147baef8ea86a)
@@ -13,9 +13,9 @@
 // Update Count     : 485
 //
+#include "CodeGenerator.h"
 
 #include <cassert>                   // for assert, assertf
 #include <list>                      // for _List_iterator, list, list<>::it...
 
-#include "CodeGenerator.h"
 #include "Common/SemanticError.h"    // for SemanticError
 #include "Common/UniqueName.h"       // for UniqueName
Index: src/CodeGen/GenType.cc
===================================================================
--- src/CodeGen/GenType.cc	(revision f73f5f4a43b47e13dccd89c1a9c48780a30c1986)
+++ src/CodeGen/GenType.cc	(revision 3268a58872c55c1ac4a24b9e6c5147baef8ea86a)
@@ -13,4 +13,5 @@
 // Update Count     : 22
 //
+#include "GenType.h"
 
 #include <cassert>                // for assert, assertf
@@ -19,5 +20,4 @@
 
 #include "CodeGenerator.h"        // for CodeGenerator
-#include "GenType.h"
 #include "SynTree/Declaration.h"  // for DeclarationWithType
 #include "SynTree/Expression.h"   // for Expression
Index: src/CodeGen/Generate.cc
===================================================================
--- src/CodeGen/Generate.cc	(revision f73f5f4a43b47e13dccd89c1a9c48780a30c1986)
+++ src/CodeGen/Generate.cc	(revision 3268a58872c55c1ac4a24b9e6c5147baef8ea86a)
@@ -13,4 +13,5 @@
 // Update Count     : 6
 //
+#include "Generate.h"
 
 #include <iostream>                  // for ostream, endl, operator<<
@@ -20,5 +21,4 @@
 #include "CodeGenerator.h"           // for CodeGenerator, doSemicolon, oper...
 #include "GenType.h"                 // for genPrettyType
-#include "Generate.h"
 #include "Parser/LinkageSpec.h"      // for isBuiltin, isGeneratable
 #include "SynTree/BaseSyntaxNode.h"  // for BaseSyntaxNode
Index: src/CodeTools/TrackLoc.cc
===================================================================
--- src/CodeTools/TrackLoc.cc	(revision f73f5f4a43b47e13dccd89c1a9c48780a30c1986)
+++ src/CodeTools/TrackLoc.cc	(revision 3268a58872c55c1ac4a24b9e6c5147baef8ea86a)
@@ -16,18 +16,13 @@
 #include "TrackLoc.h"
 
-#include <cstdlib>                    // for size_t, exit, EXIT_FAILURE
-#include <iostream>                   // for operator<<, ostream, basic_ostream
-#include <iterator>                   // for back_inserter, inserter
-#include <stack>                      // for stack
-#include <string>                     // for operator<<, string
-#include <typeindex>                  // for type_index
+#include <cstdlib>                   // for exit, EXIT_FAILURE
+#include <iostream>                  // for operator<<, ostream, basic_ostream
+#include <stack>                     // for stack
+#include <string>                    // for operator<<, string
+#include <typeindex>                 // for type_index
 
-#include "Common/PassVisitor.h"       // for PassVisitor
-#include "Common/PassVisitor.impl.h"  // for acceptAll
-#include "Common/SemanticError.h"     // for SemanticError
-#include "Common/utility.h"           // for CodeLocation
-#include "SynTree/BaseSyntaxNode.h"   // for BaseSyntaxNode
-#include "SynTree/Mutator.h"          // for mutateAll
-#include "SynTree/Visitor.h"          // for acceptAll
+#include "Common/PassVisitor.h"      // for PassVisitor
+#include "Common/utility.h"          // for CodeLocation
+#include "SynTree/BaseSyntaxNode.h"  // for BaseSyntaxNode
 
 class Declaration;
@@ -46,5 +41,5 @@
 		std::stack< CodeLocation * > parents;
 	public:
-		LocationPrinter(size_t printLevel) : 
+		LocationPrinter(size_t printLevel) :
 			printLevel(printLevel), lastNode(nullptr)
 		{}
@@ -65,8 +60,8 @@
 				if ( !parents.empty() ) {
 					node->location = *parents.top();
-				} 
+				}
 				else if (nullptr != lastNode) {
 					node->location = *lastNode;
-				} 
+				}
 				else {
 					std::cerr << "Top level node has no CodeLocation " << name << std::endl;
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision f73f5f4a43b47e13dccd89c1a9c48780a30c1986)
+++ src/Common/PassVisitor.impl.h	(revision 3268a58872c55c1ac4a24b9e6c5147baef8ea86a)
@@ -1,3 +1,4 @@
 #pragma once
+// IWYU pragma: private, include "PassVisitor.h"
 
 #define VISIT_START( node )                     \
Index: src/Common/PassVisitor.proto.h
===================================================================
--- src/Common/PassVisitor.proto.h	(revision f73f5f4a43b47e13dccd89c1a9c48780a30c1986)
+++ src/Common/PassVisitor.proto.h	(revision 3268a58872c55c1ac4a24b9e6c5147baef8ea86a)
@@ -1,3 +1,4 @@
 #pragma once
+// IWYU pragma: private, include "PassVisitor.h"
 
 template<typename pass_type>
