- Sep 02, 2015
-
-
Sanjay Patel authored
This patch depends on r246688 (D12341). The goal is to make LLVM generate different code for these functions for a target that has cheap branches (see PR23827 for more details): int foo(); int normal(int x, int y, int z) { if (x != 0 && y != 0) return foo(); return 1; } int crazy(int x, int y) { if (__builtin_unpredictable(x != 0 && y != 0)) return foo(); return 1; } Differential Revision: http://reviews.llvm.org/D12458 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246699 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
[modules] Don't waste time reading in the names the module file writer gave to blocks. We don't need these names, and decoding the corresponding bitcode has a significant cost. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246680 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
TagDecls (structs, enums, etc.) may have the same name for linkage purposes of one another; to disambiguate, we add a number to the mangled named. However, we didn't do this if the TagDecl has a pseudo-name for linkage purposes (it was defined alongside a DeclaratorDecl or a TypeNameDecl). This fixes PR24651. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246659 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246657 91177308-0d34-0410-b5e6-96231b3b80d8
-
Douglas Katzman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246652 91177308-0d34-0410-b5e6-96231b3b80d8
-
Douglas Katzman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246650 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246646 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vedant Kumar authored
Differential Revision: http://reviews.llvm.org/D12444 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246618 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
the main attribute and cache the results so we don't have to parse a single attribute more than once. This reapplies r246596 with a fix for an uninitialized class member, and a couple of cleanups and formatting changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246610 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hubert Tong authored
Summary: `OpaqueValueExpr`s may not have a source expression (as in the case when they are created due to a default argument error). This can cause an assertion failure in `TransformOpaqueValueExpr` during template instantiation. This patch fixes the assertion failure. Reviewers: hfinkel, rsmith Subscribers: fraggamuffin, cfe-commits Differential Revision: http://reviews.llvm.org/D11582 Patch by Rachel Craik! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246600 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
This is failing in release mode. Revert while I figure out what's happening. This reverts commit r246596. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246598 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
the main attribute and cache the results so we don't have to parse a single attribute more than once. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246596 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246595 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Sep 01, 2015
-
-
David Majnemer authored
We now have an implementation of the CRC in LLVM's libSupport. Let's consolidate around that one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246591 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Weber authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246589 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
r246546, with a workaround for an MSVC 2013 miscompile and an MSVC 2015 rejects-valid. Original commit message: [modules] Rework serialized DeclContext lookup table management. Instead of walking the loaded ModuleFiles looking for lookup tables for the context, store them all in one place, and merge them together if we find we have too many (currently, more than 4). If we do merge, include the merged form in our serialized lookup table, so that downstream readers never need to look at our imports' tables. This gives a huge performance improvement to builds with very large numbers of modules (in some cases, more than a 2x speedup was observed). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246582 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eli Bendersky authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246573 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246565 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Add a new frontend warning for referencing members from the handler of a constructor or destructor function-try-block, which is UB in C++. This corresponds to the CERT secure coding rule ERR53-CPP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246548 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Reverting r246497 (which requires also reverting r246524 and r246521 to avoid merge conflicts). It broke the build on MSVC 2015. It also broke an MSVC 2013 bot with testing issues. llvm\tools\clang\lib\serialization\MultiOnDiskHashTable.h(117): error C2065: 'Files': undeclared identifier http://bb.pgr.jp/builders/ninja-clang-i686-msc18-R/builds/2917 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246546 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
[modules] When emitting line tables, only emit filenames that are actually referenced by the entries that we emit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246534 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246526 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246524 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Use "lookup" instead of operator[], it will not perform unnecessary insertions. No functionality change is intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246523 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
predictable diagnostic experience. The hash-of-DeclID order we were using before gave different results on Win32 due to a different predefined declaration of __builtin_va_list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246521 91177308-0d34-0410-b5e6-96231b3b80d8
-
Yaron Keren authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246520 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hal Finkel authored
GCC 4.8+ has a PowerPC-specific intrinsic, __builtin_ppc_get_timebase, to do what Clang's __builtin_readcyclecounter does. For compatibility with code that uses GCC's spelling (including glibc), support it as well. Partially fixes PR23681. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246510 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
This reverts commit r246468 while we figure out what to do about Basic and AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246508 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246504 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
walking the loaded ModuleFiles looking for lookup tables for the context, store them all in one place, and merge them together if we find we have too many (currently, more than 4). If we do merge, include the merged form in our serialized lookup table, so that downstream readers never need to look at our imports' tables. This gives a huge performance improvement to builds with very large numbers of modules (in some cases, more than a 2x speedup was observed). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246497 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 31, 2015
-
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246492 91177308-0d34-0410-b5e6-96231b3b80d8
-
Gabor Horvath authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246479 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
This patch refactors the code to use the GCC installation detector (modified so that it works in Solaris), and uses ToolChain::GetFilePath everywhere once it works. Patch by Xan López <xan@igalia.com>! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246473 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
A class without a name for linkage purposes gets a name along the lines of <unnamed-type-foo> where foo is either the name of a declarator which defined it (like a variable or field) or a typedef-name (like a typedef or alias-declaration). We handled the declarator case correctly but it would fall down during template instantiation if the declarator didn't share the tag's type. We failed to handle the typedef-name case at all. Instead, keep track of the association between the two and keep it up to date in the face of template instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246469 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
Also: - Add a typedef to make working with the result easier. - Update callers to use the new function. - Make initFeatureMap out of line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246468 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246467 91177308-0d34-0410-b5e6-96231b3b80d8
-
Jingyue Wu authored
Summary: Clang should emit "atomicrmw umin/umax" instead of "atomicrmw min/max". Reviewers: eliben, tra Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12487 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246455 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
Removes some boilerplate code. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246452 91177308-0d34-0410-b5e6-96231b3b80d8
-
Andrey Bokhanko authored
Proper diagnostic and resolution of mangled names conflicts between C++ methods and C functions. This patch implements support for functions/methods only; support for variables is coming separately. Differential Revision: http://reviews.llvm.org/D11297 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246438 91177308-0d34-0410-b5e6-96231b3b80d8
-
Igor Breger authored
Differential Revision: http://reviews.llvm.org/D12274 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246430 91177308-0d34-0410-b5e6-96231b3b80d8
-