- Mar 20, 2017
-
-
Sylvestre Ledru authored
Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D30990 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298245 91177308-0d34-0410-b5e6-96231b3b80d8
-
Laszlo Nagy authored
Differential Revision: https://reviews.llvm.org/D30862 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298238 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 19, 2017
-
-
Aaron Ballman authored
The comment about there being three different forms that Ptr represents was stale. Also, the opaque value does not need to be exposed (these functions are unused). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298215 91177308-0d34-0410-b5e6-96231b3b80d8
-
Igor Breger authored
Summary: Adding missing intrinsics : _mm512_set_epi16, _mm512_set_epi8, _mm512_permutevar_epi32 _mm512_mask_permutevar_epi32 Reviewers: zvi, guyblank, eladcohen, craig.topper Reviewed By: craig.topper Subscribers: craig.topper, cfe-commits Differential Revision: https://reviews.llvm.org/D31034 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298208 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 18, 2017
-
-
Renato Golin authored
This reverts commit r298165, as it broke the ARM builds. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298185 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nirav Dave authored
Reviewers: rnk, mkuper Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D27051 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298177 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
Duncan's r298165 introduced the PCMCache mechanism, which guarantees that locks aren't necessary anymore for correctness but only for performance, by avoiding building it twice when possible. Change the logic to avoid an error but actually build the module in case the timeout happens. Instead of an error, still emit a remark for debugging purposes. rdar://problem/30297862 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298175 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
[index] For C++ constructors/destructors, add references to the parent type where its name appears in definitions and declarations Patch by Nathan Hawes! https://reviews.llvm.org/D30730 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298170 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 17, 2017
-
-
Duncan P. N. Exon Smith authored
Clang's internal build system for implicit modules uses lock files to ensure that after a process writes a PCM it will read the same one back in (without contention from other -cc1 commands). Since PCMs are read from disk repeatedly while invalidating, building, and importing, the lock is not released quickly. Furthermore, the LockFileManager is not robust in every environment. Other -cc1 commands can stall until timeout (after about eight minutes). This commit changes the lock file from being necessary for correctness to a (possibly dubious) performance hack. The remaining benefit is to reduce duplicate work in competing -cc1 commands which depend on the same module. Follow-up commits will change the internal build system to continue after a timeout, and reduce the timeout. Perhaps we should reconsider blocking at all. This also fixes a use-after-free, when one part of a compilation validates a PCM and starts using it, and another tries to swap out the PCM for something new. The PCMCache is a new type called MemoryBufferCache, which saves memory buffers based on their filename. Its ownership is shared by the CompilerInstance and ModuleManager. - The ModuleManager stores PCMs there that it loads from disk, never touching the disk if the cache is hot. - When modules fail to validate, they're removed from the cache. - When a CompilerInstance is spawned to build a new module, each already-loaded PCM is assumed to be valid, and is frozen to avoid the use-after-free. - Any newly-built module is written directly to the cache to avoid the round-trip to the filesystem, making lock files unnecessary for correctness. Original patch by Manman Ren; most testcases by Adrian Prantl! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298165 91177308-0d34-0410-b5e6-96231b3b80d8
-
Davide Italiano authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298160 91177308-0d34-0410-b5e6-96231b3b80d8
-
Matthias Gehre authored
Summary: 3.4.6 [basic.lookup.udir] paragraph 1: In a using-directive or namespace-alias-definition, during the lookup for a namespace-name or for a name in a nested-name-specifier, only namespace names are considered. Reviewers: rsmith, aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D30848 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298126 91177308-0d34-0410-b5e6-96231b3b80d8
-
Zachary Turner authored
clang-cl works best when the user runs vcvarsall to set up an environment before running, but even this is not enough on VC 2017 when cross compiling (e.g. using an x64 toolchain to target x86, or vice versa). The reason is that although clang-cl itself will have a valid environment, it will shell out to other tools (such as link.exe) which may not. Generally we solve this through adding the appropriate linker flags, but this is not enough in VC 2017. The cross-linker and the regular linker both link against some common DLLs, but these DLLs live in the binary directory of the native linker. When setting up a cross-compilation environment through vcvarsall, it will add *both* directories to %PATH%, so that when cl shells out to any of the associated tools, those tools will be able to find all of the dependencies that it links against. If you don't do this, link.exe will fail to run because the loader won't be able to find all of the required DLLs that it links against. To solve this we teach the driver how to spawn a process with an explicitly specified environment. Then we modify the PATH before shelling out to subtools and run with the modified PATH. Patch by Hamza Sood Differential Revision: https://reviews.llvm.org/D30991 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298098 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Green authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298097 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
[AVX-512] Change the input type for some load intrinsics to take void type like the spec (and the test cases say). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298042 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
[AVX-512] Fix test cases that were using the builtins directly without typecasts instead of the intrinsic header. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298041 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
[AVX-512] Add missing typecasts and parentheses to _mm512_mask_i64gather_ps. My macro cleanup script I used on the others last year must have missed it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298040 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
[Serialization] Follow-up to r297972, deserialize name/loc in separate statements to make sure they deserialize in defined order. This should fix the windows bots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298027 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
unused anywhere in llvm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298022 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
Reapply r289181 but rename the include guard to avoid conflict with the one from Darwin. Allow darwin to provide additional definitions and implementation specifc values for tgmath.h on Apple platforms. rdar://problem/19019845 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298013 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
Expand a bit on private modules with some guidance on how to write them in the context of frameworks. rdar://problem/24758771 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298012 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 16, 2017
-
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298006 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
Patch by: Mateusz Mikula Reviewers: rnk Reviewed By: rnk Subscribers: asl, mgorny, cfe-commits Tags: #clang-c Differential Revision: https://reviews.llvm.org/D29772 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297998 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297975 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
[AST] Follow-up to r297972, add default value for setGetterName/setSetterName if a source-loc is not provided. Fixes lldb build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297974 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
[index/AST] Add references for ObjC getter=/setter= property attributes and related property getter/setter role fixes This enhances the AST to keep track of locations of the names in those ObjC property attributes, and reports them for indexing. Patch by Nathan Hawes! https://reviews.llvm.org/D30907 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297972 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alex Lorenz authored
The instance method 'self' does not actually return an over-retained object, so we shouldn't report an error when it's used with 'performSelector'. rdar://31071620 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297961 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ed Schouten authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297956 91177308-0d34-0410-b5e6-96231b3b80d8
-
Egor Churaev authored
Reviewers: Anastasia Reviewed By: Anastasia Subscribers: cfe-commits, yaxunl, bader Differential Revision: https://reviews.llvm.org/D28136 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297947 91177308-0d34-0410-b5e6-96231b3b80d8
-
Martin Probst authored
clang-format treats MSVC `__super` keyword like all other keywords adding a single space after. This change disables this behavior for `__super`. Patch originally by jutocz (thanks!). Differential Revision: https://reviews.llvm.org/D30932 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297936 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
Before (even violating the column limit): auto Diag = diag() << aaaaaaaaaaaaaaaa(aaaaaaaaaaaa, aaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaa); After: auto Diag = diag() << aaaaaaaaaaaaaaaa(aaaaaaaaaaaa, aaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaa); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297931 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
a) avoid actually compiling anything b) avoid depositing files in the test directory c) use a check line to make sure that we're looking for the correct behavior git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297917 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 15, 2017
-
-
Simon Pilgrim authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297905 91177308-0d34-0410-b5e6-96231b3b80d8
-
Guansong Zhang authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297896 91177308-0d34-0410-b5e6-96231b3b80d8
-
Guansong Zhang authored
Currently the two flags can not work together. To illustrate the issue, we can have an one line file a.cl contains only an empty function cat a.cl void test(){} Then use clang -v -save-temps -x cl -Xclang -cl-std=CL2.0 -Xclang -finclude-default-header -target amdgcn -S -c a.cl we will get redefinition errors for various things. The reason is that the -finclude-default-header flag is not meant to be on cc1 command other than the preprocessor. The fix is modeled after the code just below the change to filter the -finclude-default-header flag out when we are not in the preprocess phase. Differential Revision: https://reviews.llvm.org/D30743 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297890 91177308-0d34-0410-b5e6-96231b3b80d8
-
Simon Pilgrim authored
We were testing for the generic _mm_com_* intrinsics, but not the specific comparison mode versions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297885 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Add AST matchers for ObjCProtocolDecl, ObjCCategoryDecl, ObjCMethodDecl, ObjCIvarDecl, and ObjCPropertyDecl. Patch by Dave Lee. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297882 91177308-0d34-0410-b5e6-96231b3b80d8
-
Zachary Turner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297881 91177308-0d34-0410-b5e6-96231b3b80d8
-
Akira Hatanaka authored
-m(i|tv|watch)os-simulator-version-min is on the command line. Previously the driver would treat -m(i|tv|watch)os-simulator-version-min as an alias of -m(i|tv|watch)os-version-min. This no longer works since we now need to distinguish between the two options (the latter is used for iOS running in a VM, for example). This commit stops making the simulator options the aliases of the OS options and defines a macro to differentiate between the two groups of options. rdar://problem/28872911 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297866 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alex Lorenz authored
instance of a qualified Class object when that instance method comes from a protocol that's implemented by NSObject Instance methods from a root class like NSObject are also class methods because the metaclass of root class derives from that root class. Therefore, we can avoid the warning for instances of qualified Class objects that point to classes that derive from NSObject. Note that we actually don't know if a Class instance points to a class that derives from NSObject at compile-time, so we have to make a reasonable assumption that the majority of instances will do so. rdar://22812517 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297862 91177308-0d34-0410-b5e6-96231b3b80d8
-
Zachary Turner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297861 91177308-0d34-0410-b5e6-96231b3b80d8
-