- Feb 04, 2013
-
-
Benjamin Kramer authored
This required disabling a PowerPC optimization that did the following: input: x = BUILD_VECTOR <i32 16, i32 16, i32 16, i32 16> lowered to: tmp = BUILD_VECTOR <i32 8, i32 8, i32 8, i32 8> x = ADD tmp, tmp The add now gets folded immediately and we're back at the BUILD_VECTOR we started from. I don't see a way to fix this currently so I left it disabled for now. Fix some trivially foldable X86 tests too. llvm-svn: 174325
-
Tim Northover authored
llvm-svn: 174324
-
Tim Northover authored
llvm-svn: 174322
-
Tim Northover authored
llvm-svn: 174321
-
Manuel Klimek authored
We found that findAll has been implemented incorrectly multiple times by various people using the matchers. To prevent further wasted development effort, it makes sense to add it as convenience matcher implemented as eachOf(m, forEachDescendant(m)). This patch also updates the docs with the new matchers. llvm-svn: 174320
-
Dmitry Vyukov authored
llvm-svn: 174319
-
Alexey Samsonov authored
llvm-svn: 174318
-
Dmitri Gribenko authored
definition Current practice is not to use 'inline' in: class Foo { public: inline void bar() { // ... } }; llvm-svn: 174317
-
Alexey Samsonov authored
llvm-svn: 174316
-
Manuel Klimek authored
eachOf gives closure on the forEach and forEachDescendant matchers. Before, it was impossible to implement a findAll matcher, as matching the node or any of its descendants was not expressible (since anyOf only triggers the first match). llvm-svn: 174315
-
Daniel Jasper authored
This is a follow up to r174309 to actually make it work. llvm-svn: 174314
-
Patrik Hagglund authored
Makefile.config. This is implied at the bottom of the help text of configure (besides CC/CXX/LDFLAGS, already passed to Makefile.config). For backward compatibility, the values of CFLAGS and CXXFLAGS defaults to empty, overriding the default values provided by autoconf (for example, '-g -O2' when CC=gcc'). $(CPP) is not used by our makefiles. Therefore, the value of CPP is not passed to Makefile.config, despite beeing mentioned by 'configure --help'. llvm-svn: 174313
-
Dmitry Vyukov authored
llvm-svn: 174312
-
Dmitry Vyukov authored
llvm-svn: 174311
-
Daniel Jasper authored
If there are string literals on either side of a '<<', chances are high that they represent logically separate concepts. Otherwise, the author could just have just a single literal (possible split over multiple lines). So, we can now nicely format things like: cout << "somepacket = {\n" << " val a = " << ValueA << "\n" << " val b = " << ValueB << "\n" << "}"; llvm-svn: 174310
-
Daniel Jasper authored
We can now (even in non-bin-packing modes) format: someFunction(1, /* comment 1 */ 2, /* comment 2 */ 3, /* comment 3 */ aaa); llvm-svn: 174309
-
Daniel Jasper authored
Two minor changes: * Slight penalty for breaking at "," as opposed to ";". * Don't apply bin-packing rules to for-loops. Before: for (int aaaaaa = aaaaaaaaaa; aaaaaa < bbbbbbbb; ++aaaaaa, ++ccccccccccccccc) {} After: for (int aaaaaa = aaaaaaaaaa; aaaaaa < bbbbbbbb; ++aaaaaa, ++ccccccccccccccc) {} llvm-svn: 174308
-
Daniel Jasper authored
This combines several changes: * Calculation token type (e.g. for * and &) in the AnnotatingParser. * Calculate the scope binding strength in the AnnotatingParser. * Let <> and [] scopes bind stronger than () and {} scopes. * Add minimal debugging output. llvm-svn: 174307
-
Evgeniy Stepanov authored
This change lets us bootstrap LLVM/Clang under ASan and MSan. It contains fixes for 2 issues: - X86JIT reads return address from stack, which MSan does not know is initialized. - bugpoint tests run binaries with RLIMIT_AS. This does not work with certain Sanitizers. We are no longer including config.h in Compiler.h with this change. llvm-svn: 174306
-
David Blaikie authored
llvm-svn: 174305
-
David Blaikie authored
llvm-svn: 174304
-
NAKAMURA Takumi authored
clang/Analysis: Fix r174245, a valgrind error in AnalysisDeclContext::getBody(bool &IsAutosynthesized), to initialize IsAutosynthesized explicitly. llvm-svn: 174303
-
Michael Gottesman authored
Removed reference to LLVM as a project (since in LangRef it is used solely as a reference to the IR). Thanks silvas! llvm-svn: 174301
-
Arnold Schwaighofer authored
Swift has a renaming dependency if we load into D subregisters. We don't have a way of distinguishing between insertelement operations of values from loads and other values. Therefore, we are pessimistic for now (The performance problem showed up in example 14 of gcc-loops). radar://13096933 llvm-svn: 174300
-
Edwin Vane authored
Added support to the cmake build to turn off uninitialized use warnings for gcc. This cleans the build up somewhat. Used logic simpler than found in autoconf by making use of the fact that although gcc won't complain about unsupported -Wno-* flags it *will* complain about unsupported -W flags. Reviewers: gribozavr, doug.gregor, chandlerc llvm-svn: 174299
-
NAKAMURA Takumi authored
llvm-svn: 174298
-
NAKAMURA Takumi authored
llvm-svn: 174297
-
Dmitri Gribenko authored
This is an improvement of r173630, that handles the following case: struct VirualDestrClass { VirualDestrClass(int arg); virtual ~VirualDestrClass(); }; struct ConstrWithCleanupsClass { ConstrWithCleanupsClass(const VirualDestrClass& cplx = VirualDestrClass(42)); }; ConstrWithCleanupsClass cwcNoArg; That was printed as: ConstrWithCleanupsClass cwcNoArg(); llvm-svn: 174296
-
- Feb 03, 2013
-
-
Michael Gottesman authored
Added instance variable/initializers/getter/setters for new keyword externally initialized to GlobalVariable. No *TRUE* functionality change. I am going to add in the actual test cases with the actual functionality changes in a later patch because I want to include some test cases. To be clear when I say no *TRUE* functionality change I mean that this patch (like it says in the title) only contains getters/setters and sets up a default initial value of the instance variable to false so that this patch does not affect any other uses of Global Variable.h. llvm-svn: 174295
-
Benjamin Kramer authored
llvm-svn: 174294
-
Benjamin Kramer authored
This can yield dramatic speedups of dynamic_cast for simple inheritance trees, at least with libsupc++. Neither libcxxabi nor libcxxrt make use of this hint currently, it was never implemented because clang didn't support it. There was some concern about the number of class hierarchy walks this change introduces. If it turns out to be an issue we can add caching either at the cast pair level or even deeper, but we also do a lot of walks in Sema so this codepath is probably fairly optimized already. llvm-svn: 174293
-
Benjamin Kramer authored
llvm-svn: 174292
-
Daniel Jasper authored
We can now format: SomeArrayOfSomeType a = { { { 1, 2, 3 } }, { { 1, 2, 3 } }, { { 111111111111111111111111111111, 222222222222222222222222222222, 333333333333333333333333333333 } }, { { 1, 2, 3 } }, { { 1, 2, 3 } } }; Before, we did strange things there. llvm-svn: 174291
-
Dmitri Gribenko authored
llvm-svn: 174290
-
Benjamin Kramer authored
This allows the optimizer to CSE dynamic_casts. llvm-svn: 174289
-
Joerg Sonnenberger authored
llvm-svn: 174288
-
Dmitri Gribenko authored
llvm-svn: 174287
-
Dmitri Gribenko authored
This removes quite a few 'cxstring::' qualifications where they are obvious. llvm-svn: 174286
-
Dmitri Gribenko authored
llvm-svn: 174285
-
Dmitri Gribenko authored
llvm-svn: 174284
-