- Oct 13, 2009
-
-
Chris Lattner authored
which is a common idiom to improve PIC'ness of code using the addr of label extension. This implementation is a gross hack, but the only other alternative would be to teach evalutate about this horrid combination. While GCC allows things like "&&foo - &&bar + 1", people don't use this in practice. This implements PR5131. llvm-svn: 83957
-
Chris Lattner authored
1. CGF now has fewer bytes of state (one pointer instead of a vector). 2. The generated code is determinstic, instead of getting labels in 'map order' based on pointer addresses. 3. Clang now emits one 'indirect goto switch' for each function, instead of one for each indirect goto. This fixes an M*N = N^2 IR size issue when there are lots of address-taken labels and lots of indirect gotos. 4. This also makes the default cause do something useful, reducing the size of the jump table needed (by one). llvm-svn: 83952
-
Chris Lattner authored
hairier (but nonsensical) example. llvm-svn: 83951
-
Zhongxing Xu authored
llvm-svn: 83949
-
Chris Lattner authored
for a null pointer. In other words, "&&foo != NULL" will always work out to true. llvm-svn: 83948
-
Chris Lattner authored
more places in clang codegen now. llvm-svn: 83947
-
John Thompson authored
llvm-svn: 83945
-
Chris Lattner authored
llvm-svn: 83942
-
Chris Lattner authored
llvm-svn: 83941
-
Chris Lattner authored
about the reason, rdar://7186119. llvm-svn: 83940
-
Chris Lattner authored
previously we only recognized it on inputs. llvm-svn: 83939
-
Zhongxing Xu authored
llvm-svn: 83936
-
Zhongxing Xu authored
llvm-svn: 83935
-
Zhongxing Xu authored
llvm-svn: 83934
-
Devang Patel authored
Disable tests that check debug info intrinsic. This does not work if debug info intrinsics are not used to encode debug info. llvm-svn: 83929
-
Devang Patel authored
llvm-svn: 83928
-
Douglas Gregor authored
llvm-svn: 83924
-
Douglas Gregor authored
that the scope in which it is being declared is complete. Also, when instantiating a member class template's ClassTemplateDecl, be sure to delay type creation so that the resulting type is dependent. Ick. llvm-svn: 83923
-
Douglas Gregor authored
llvm-svn: 83918
-
Douglas Gregor authored
llvm-svn: 83914
-
Devang Patel authored
llvm-svn: 83913
-
Devang Patel authored
llvm-svn: 83912
-
Douglas Gregor authored
that are declarations (rather than definitions). Also, be sure to set the access specifiers properly when instantiating the declarations of member function templates. llvm-svn: 83911
-
John McCall authored
llvm-svn: 83910
-
- Oct 12, 2009
-
-
John McCall authored
conditions. Add a fixit to insert the parentheses. Also fix a very minor possible memory leak in 'for' conditions. Fixes PR 4876 and rdar://problem/7289172 llvm-svn: 83907
-
Douglas Gregor authored
llvm-svn: 83904
-
Douglas Gregor authored
llvm-svn: 83901
-
Anders Carlsson authored
llvm-svn: 83900
-
Ted Kremenek authored
Use a BumpPtrAllocator to allocate all aspects of CFG, including CFGBlocks, successor and predecessor vectors, etc. Speedup: when doing 'clang-cc -analyze -dump-cfg' (without actual printing, just CFG building) on the amalgamated SQLite source (all of SQLite in one source file), runtime reduced by 9%. This fixes: <rdar://problem/7250745> llvm-svn: 83899
-
Mike Stump authored
llvm-svn: 83898
-
Douglas Gregor authored
llvm-svn: 83896
-
Douglas Gregor authored
llvm-svn: 83893
-
Douglas Gregor authored
instantiation has already been required. To do so, keep track of the point of instantiation for anything that can be instantiated. llvm-svn: 83890
-
Fariborz Jahanian authored
wip - To prune excessive reporting. llvm-svn: 83889
-
Anders Carlsson authored
llvm-svn: 83888
-
Anders Carlsson authored
llvm-svn: 83886
-
Ted Kremenek authored
llvm-svn: 83884
-
Anders Carlsson authored
llvm-svn: 83883
-
Anders Carlsson authored
llvm-svn: 83882
-
Anders Carlsson authored
Factor out devirtualization checking into a separate function and make it handle references correctly. llvm-svn: 83880
-