[PATCH] Add Forward-Edge Control-Flow Integrity support

Kostya Serebryany kcc at google.com
Mon Jul 7 05:27:35 PDT 2014


some more comments.

================
Comment at: include/llvm/CodeGen/ForwardControlFlowIntegrity.h:56
@@ +55,3 @@
+private:
+  typedef DenseSet<Instruction *> CallSet;
+
----------------
Can this be SmallVector?

================
Comment at: lib/CodeGen/ForwardControlFlowIntegrity.cpp:105
@@ +104,3 @@
+
+ForwardControlFlowIntegrity::~ForwardControlFlowIntegrity() {}
+
----------------
maybe inline this in the header? 


================
Comment at: lib/CodeGen/JumpInstrTables.cpp:50
@@ -49,3 +49,3 @@
 ModulePass *llvm::createJumpInstrTablesPass() {
-  // The default implementation uses a single table for all functions.
+  // The default implementation uses a single table for all functions
   return new JumpInstrTables(JumpTable::Single);
----------------
why did you remove .?

================
Comment at: test/CodeGen/X86/cfi_simple_indirect_call.ll:12
@@ +11,3 @@
+define i32 @m(void ()* %fun) {
+  call void ()* %fun()
+; SUB: subl    
----------------
Kostya Serebryany wrote:
> use SUB-LABEL, etc
also add a test with invoke

http://reviews.llvm.org/D4167






More information about the llvm-commits mailing list