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