- Mar 13, 2009
-
-
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
-
- Mar 11, 2009
-
-
Chris Lattner authored
llvm-svn: 66598
-
Chris Lattner authored
code where Sema can get to it. No functionality change. llvm-svn: 66596
-
- Mar 10, 2009
-
-
Chris Lattner authored
done in sema, and is reflected by the existing PR3258. In the meantime, fix PR3682 by disabling a bogus assertion (which doesn't account for + operands). llvm-svn: 66533
-
Chris Lattner authored
add support for modifiers on named references, like %c[foo]. llvm-svn: 66532
-
Chris Lattner authored
time handle + operands in operand counting, fixing asm.c:t7 to expand into $2 instead of $1. llvm-svn: 66531
-
Chris Lattner authored
temporary std::string to fix a fixme. llvm-svn: 66530
-
Chris Lattner authored
asm. This allows us to properly handle the case when an optimizer duplicates the asm, such as here: void bar() { int i; for (i = 0; i < 3; ++i) asm("foo %=" : : "r"(0)); } we now produce: _bar: xorl %eax, %eax ## InlineAsm Start foo 0 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 2 ## InlineAsm End ret instead of: _bar: xorl %eax, %eax ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ret This also fixes a fixme by eliminating a static. llvm-svn: 66528
-
Chris Lattner authored
llvm-svn: 66521
-
Chris Lattner authored
ConvertAsmString and shrink it a bit. No functionality change. llvm-svn: 66520
-
- Mar 05, 2009
-
-
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
-
- Mar 04, 2009
-
-
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
-
- Mar 02, 2009
-
-
Anders Carlsson authored
llvm-svn: 65866
-
- Feb 22, 2009
-
-
Anders Carlsson authored
Make sure to reset the DidCallStackSave variable before emitting a compound statement. Fixes PR3649. llvm-svn: 65291
-
- Feb 13, 2009
-
-
Anders Carlsson authored
llvm-svn: 64445
-
- Feb 10, 2009
-
-
Anders Carlsson authored
llvm-svn: 64252
-
Anders Carlsson authored
llvm-svn: 64205
-
Anders Carlsson authored
llvm-svn: 64203
-
- Feb 09, 2009
-
-
Anders Carlsson authored
llvm-svn: 64159
-
Anders Carlsson authored
llvm-svn: 64157
-
- Feb 08, 2009
-
-
Mike Stump authored
llvm-svn: 64095
-
Mike Stump authored
If people could beat on it and let me know if there are any new semantics required by newer language standards or DRs or any little details I goofed on, I'd be happy to fix any issues found. llvm-svn: 64079
-
Anders Carlsson authored
llvm-svn: 64053
-
Anders Carlsson authored
Add support for emitting cleanup blocks. Make EmitCompoundStatement emit cleanup blocks if necessary llvm-svn: 64051
-
Mike Stump authored
correctly. This should lay the ground work to throw the big switch and start code gening break and continue in the presense of vlas. llvm-svn: 64046
-
- Feb 07, 2009
-
-
Mike Stump authored
llvm-svn: 64030
-
Mike Stump authored
llvm-svn: 64021
-
Mike Stump authored
llvm-svn: 64020
-
Mike Stump authored
llvm-svn: 64014
-
- Jan 27, 2009
-
-
Anders Carlsson authored
If an input constraint refers to an output constraint, it should have the same constraint info as the output constraint. Fixes PR3417 llvm-svn: 63127
-
- Jan 21, 2009
-
-
Chris Lattner authored
llvm-svn: 62674
-
- Jan 18, 2009
-
-
Anders Carlsson authored
llvm-svn: 62444
-
Anders Carlsson authored
llvm-svn: 62441
-
Anders Carlsson authored
Change TargetInfo::validateInputConstraint to take begin/end name iterators instead of the number of outputs. No functionality change. llvm-svn: 62433
-
- Jan 12, 2009
-
-
Anders Carlsson authored
llvm-svn: 62069
-
- Jan 11, 2009
-
-
Anders Carlsson authored
llvm-svn: 62049
-
Anders Carlsson authored
llvm-svn: 62043
-
Anders Carlsson authored
llvm-svn: 62041
-
- Dec 21, 2008
-
-
Eli Friedman authored
string. That said, we should probably try and track down the correct clobber lists for the targets that don't have them (PPC, ARM, and Sparc), so that we can generate correct code. llvm-svn: 61298
-
Eli Friedman authored
warning by using an unsigned index. llvm-svn: 61292
-