Skip to content
  1. Feb 24, 2011
  2. Feb 23, 2011
  3. Feb 19, 2011
  4. Feb 15, 2011
  5. Feb 09, 2011
  6. Feb 04, 2011
  7. Feb 02, 2011
  8. Jan 30, 2011
  9. Jan 28, 2011
  10. Jan 24, 2011
  11. Jan 20, 2011
  12. Jan 14, 2011
  13. Jan 11, 2011
  14. Jan 10, 2011
  15. Jan 08, 2011
    • Evan Cheng's avatar
      Do not model all INLINEASM instructions as having unmodelled side effects. · 6eb516db
      Evan Cheng authored
      Instead encode llvm IR level property "HasSideEffects" in an operand (shared
      with IsAlignStack). Added MachineInstrs::hasUnmodeledSideEffects() to check
      the operand when the instruction is an INLINEASM.
      
      This allows memory instructions to be moved around INLINEASM instructions.
      
      llvm-svn: 123044
      6eb516db
  16. Jan 07, 2011
  17. Jan 06, 2011
  18. Jan 02, 2011
  19. Dec 19, 2010
  20. Dec 13, 2010
    • Chris Lattner's avatar
      remove the verbose-asm "constant pool double" comments that we were printing · f8d180b8
      Chris Lattner authored
      for each constant pool entry.  Using WriteTypeSymbolic here takes time
      proportional to the size of the module, for each constant pool entry.
      
      This speeds up -verbose-asm llc on 252.eon (a random testcase at my disposal)
      from 4.4s to 2.137s.  llc takes 2.11s with asm-verbose off, so this is now a
      pretty reasonable cost for verbose comments.
      
      llvm-svn: 121691
      f8d180b8
  21. Dec 09, 2010
  22. Dec 06, 2010
  23. Nov 29, 2010
  24. Nov 20, 2010
  25. Nov 19, 2010
  26. Nov 18, 2010
  27. Nov 17, 2010
    • Chris Lattner's avatar
      With the newly simplified SourceMgr interfaces and the generalized · 79ffdc75
      Chris Lattner authored
      SrcMgrDiagHandler, we can improve clang diagnostics for inline asm:
      instead of reporting them on a source line of the original line,
      we can report it on the correct line wherever the string literal came
      from. For something like this:
      
      void foo() {
        asm("push %rax\n"
            ".code32\n");
      }
      
      we used to get this: (note that the line in t.c isn't helpful)
      
      t.c:4:7: error: warning: ignoring directive for now
        asm("push %rax\n"
            ^
      <inline asm>:2:1: note: instantiated into assembly here
      .code32
      ^
      
      now we get:
      
      t.c:5:8: error: warning: ignoring directive for now
            ".code32\n"
             ^
      <inline asm>:2:1: note: instantiated into assembly here
      .code32
      ^
      
      Note that we're pointing to line 5 properly now.
      
      llvm-svn: 119488
      79ffdc75
    • Chris Lattner's avatar
      now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the · b0e36085
      Chris Lattner authored
      cookie argument to the SourceMgr diagnostic stuff.  This cleanly separates
      LLVMContext's inlineasm handler from the sourcemgr error handling 
      definition, increasing type safety and cleaning things up.
      
      llvm-svn: 119486
      b0e36085
    • Chris Lattner's avatar
      rearrange how the handler in SourceMgr is installed, eliminating the use of · 300fa45d
      Chris Lattner authored
      the cookie argument to setDiagHandler
      
      llvm-svn: 119483
      300fa45d
Loading