--- /dev/null
+Compiler Coding Style
+=====================
+
+Coding style for the TurboFan compiler generally follows the Google C++ Style
+Guide and the Chromium Coding Style. The notes below are usually just extensions
+beyond what the Google style guide already says. If this document doesn't
+mention a rule, follow the Google C++ style.
+
+
+TODOs
+-----
+We use the following convention for putting TODOs into the code:
+
+ * A TODO(turbofan) implies a performance improvement opportunity.
+ * A TODO(name) implies an incomplete implementation.
+
+
+Use of C++11 auto keyword
+-------------------------
+Use auto to avoid type names that are just clutter. Continue to use manifest
+type declarations when it helps readability, and never use auto for anything
+but local variables, in particular auto should only be used where it is obvious
+from context what the type is:
+
+ for (auto block : x->blocks()) // clearly a Block of some kind
+ for (auto instr : x->instructions()) // clearly an Instruction of some kind
+
+ for (auto b : x->predecessors()) // less clear, better to make it explicit
+ for (BasicBlock* b : x->predecessors()) // now clear
#include "src/compiler.h"
-// Note: TODO(turbofan) implies a performance improvement opportunity,
-// and TODO(name) implies an incomplete implementation
-
namespace v8 {
namespace internal {
namespace compiler {