Skip to content
  1. Mar 13, 2009
    • Chris Lattner's avatar
      introduce a new -fheinous-gnu-extensions flag that enables really · cda4d7e1
      Chris Lattner authored
      really horrible extensions that are disabled by default but that can
      be accepted by -fheinous-gnu-extensions (but which always emit a 
      warning when enabled).
      
      As our first instance of this, implement PR3788/PR3794, which allows
      non-lvalues in inline asms in contexts where lvalues are required. bleh.
      
      llvm-svn: 66910
      cda4d7e1
  2. Mar 11, 2009
  3. Mar 10, 2009
  4. Mar 05, 2009
    • Chris Lattner's avatar
      if we die in IR generation of a compound statement, include · ff9fbcaa
      Chris Lattner authored
      it in the stack trace, giving us stuff like:
      
      Stack dump:
      0.	Program arguments: clang t.c -emit-llvm 
      1.	<eof> parser at end of file
      2.	t.c:1:5: LLVM IR generation of declaration 'a'
      3.	t.c:1:9: LLVM IR generation of compound statement ('{}')
      4.	t.c:2:3: LLVM IR generation of compound statement ('{}')
      Abort
      
      llvm-svn: 66154
      ff9fbcaa
  5. Mar 04, 2009
    • Chris Lattner's avatar
      add a special case for codegen that improves the case where we have · 4192bce9
      Chris Lattner authored
      multiple sequential cases to a) not create tons of fall-through basic blocks
      and b) not recurse deeply.  This fixes codegen on 100K deep cases, and improves
      codegen on moderate cases from this:
      
              switch i32 %tmp, label %sw.epilog [
                      i32 1000, label %sw.bb
                      i32 1001, label %sw.bb1
                      i32 1002, label %sw.bb2
                      i32 1003, label %sw.bb3
                      i32 1004, label %sw.bb4
      ...
      sw.bb:          ; preds = %entry
              br label %sw.bb1
      
      sw.bb1:         ; preds = %entry, %sw.bb
              br label %sw.bb2
      
      sw.bb2:         ; preds = %entry, %sw.bb1
              br label %sw.bb3
      
      sw.bb3:         ; preds = %entry, %sw.bb2
              br label %sw.bb4
      
      to:
      
              switch i32 %tmp, label %sw.epilog [
                      i32 1000, label %sw.bb
                      i32 1001, label %sw.bb
                      i32 1002, label %sw.bb
                      i32 1003, label %sw.bb
                      i32 1004, label %sw.bb
      sw.bb:  ;; many preds
      
      llvm-svn: 66015
      4192bce9
  6. Mar 02, 2009
  7. Feb 22, 2009
  8. Feb 13, 2009
  9. Feb 10, 2009
  10. Feb 09, 2009
  11. Feb 08, 2009
  12. Feb 07, 2009
  13. Jan 27, 2009
  14. Jan 21, 2009
  15. Jan 18, 2009
  16. Jan 12, 2009
  17. Jan 11, 2009
  18. Dec 21, 2008
Loading