- Apr 20, 2009
-
-
Sanjiv Gupta authored
llvm-svn: 69605
-
Dan Gohman authored
now that errs() is properly non-buffered. llvm-svn: 69602
-
Dan Gohman authored
llvm-svn: 69599
-
Dan Gohman authored
which include Functions, where it can be quite useful to use an AssemblyAnnotationWriter. llvm-svn: 69598
-
Duncan Sands authored
64 bit platforms when building with optimization. So replace them by a hand-coded implementation. This fixes PR3822. llvm-svn: 69597
-
Dan Gohman authored
llvm-svn: 69596
-
Douglas Gregor authored
also gets access to the Sema object performing semantic analysis. This will be used by the PCH writer to serialize Sema state. No functionality change. llvm-svn: 69595
-
Steve Naroff authored
Test will be enabled with ObjCInterfaceDecl is added. llvm-svn: 69594
-
Zhongxing Xu authored
llvm-svn: 69587
-
Eli Friedman authored
minor accepts-invalid regressions, but we weren't really rejecting them for the right reason. We really need a more general solution to detect all the cases of the promotion of arrays with a register storage class. llvm-svn: 69586
-
Evan Cheng authored
Added a linearscan register allocation optimization. When the register allocator spill an interval with multiple uses in the same basic block, it creates a different virtual register for each of the reloads. e.g. %reg1498<def> = MOV32rm %reg1024, 1, %reg0, 12, %reg0, Mem:LD(4,4) [sunkaddr39 + 0] %reg1506<def> = MOV32rm %reg1024, 1, %reg0, 8, %reg0, Mem:LD(4,4) [sunkaddr42 + 0] %reg1486<def> = MOV32rr %reg1506 %reg1486<def> = XOR32rr %reg1486, %reg1498, %EFLAGS<imp-def,dead> %reg1510<def> = MOV32rm %reg1024, 1, %reg0, 4, %reg0, Mem:LD(4,4) [sunkaddr45 + 0] => %reg1498<def> = MOV32rm %reg2036, 1, %reg0, 12, %reg0, Mem:LD(4,4) [sunkaddr39 + 0] %reg1506<def> = MOV32rm %reg2037, 1, %reg0, 8, %reg0, Mem:LD(4,4) [sunkaddr42 + 0] %reg1486<def> = MOV32rr %reg1506 %reg1486<def> = XOR32rr %reg1486, %reg1498, %EFLAGS<imp-def,dead> %reg1510<def> = MOV32rm %reg2038, 1, %reg0, 4, %reg0, Mem:LD(4,4) [sunkaddr45 + 0] From linearscan's point of view, each of reg2036, 2037, and 2038 are separate registers, each is "killed" after a single use. The reloaded register is available and it's often clobbered right away. e.g. In thise case reg1498 is allocated EAX while reg2036 is allocated RAX. This means we end up with multiple reloads from the same stack slot in the same basic block. Now linearscan recognize there are other reloads from same SS in the same BB. So it'll "downgrade" RAX (and its aliases) after reg2036 is allocated until the next reload (reg2037) is done. This greatly increase the likihood reloads from SS are reused. This speeds up sha1 from OpenSSL by 5.8%. It is also an across the board win for SPEC2000 and 2006. llvm-svn: 69585
-
Douglas Gregor authored
raw_ostreams. Requires LLVM r69583. llvm-svn: 69584
-
Douglas Gregor authored
llvm-svn: 69583
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 69582
-
Daniel Dunbar authored
@synthesized ivars for superclasses. - <rdar://problem/6806371> [clang] Mark code without miscompiled @synthesized properties llvm-svn: 69581
-
Douglas Gregor authored
llvm-svn: 69580
-
Daniel Dunbar authored
Drop uses of GetFirstInvarInRecord, instead we lookup the ivars we know are in the record. - This is somewhat less efficient, but I need to detangle this code first... llvm-svn: 69579
-
Daniel Dunbar authored
llvm-svn: 69578
-
Zhongxing Xu authored
llvm-svn: 69577
-
Chris Lattner authored
llvm-svn: 69576
-
Daniel Dunbar authored
null string / identifier. llvm-svn: 69575
-
Sanjiv Gupta authored
pointer type, make sure that the pointer size is a valid sequential index type. llvm-svn: 69574
-
Chris Lattner authored
llvm-svn: 69573
-
Daniel Dunbar authored
Also, added assertion that the field matches what would be looked up. llvm-svn: 69572
-
Chris Lattner authored
remove special case hack for -Werror-implicit-function-declaration llvm-svn: 69571
-
Zhongxing Xu authored
get FunctionDecl with more general utility method. llvm-svn: 69570
-
Chris Lattner authored
llvm-svn: 69569
-
Chris Lattner authored
llvm-svn: 69568
-
Eli Friedman authored
subsequently crashed). llvm-svn: 69567
-
Eli Friedman authored
Adapted from patch by Tim Northover. llvm-svn: 69566
-
Zhongxing Xu authored
methods of SVal. llvm-svn: 69565
-
Eli Friedman authored
useful for macro-heavy codebases that tend to trigger this warning a lot. Note that a make clean is required to get the option working; the dependencies for DiagnosticGroups.inc appear to be broken. llvm-svn: 69564
-
Daniel Dunbar authored
llvm-svn: 69563
-
Daniel Dunbar authored
llvm-svn: 69562
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 69561
-
Chris Lattner authored
will let us test for multiple different warning modes in the same file in regression tests. This implements rdar://2362963, a 10-year old feature request :) llvm-svn: 69560
-
Chris Lattner authored
Warnings.cpp. Warnings.cpp now doesn't need to #include tblgen produced output directly. llvm-svn: 69559
-
Chris Lattner authored
mode, just ignore them as usual. llvm-svn: 69558
-
Chris Lattner authored
llvm-svn: 69557
-
- Apr 19, 2009
-
-
Chris Lattner authored
support it. I don't know what evaluation method we use for complex arithmetic, so I don't know whether/if we should warn about use of CX_LIMITED_RANGE. This concludes my planned hacking on STDC pragmas, flame away :) llvm-svn: 69556
-