Sam Elliott [Mon, 1 Jul 2019 14:53:56 +0000 (14:53 +0000)]
[RISCV] Avoid save-restore target feature warning
Summary:
LLVM issues a warning if passed unknown target features. Neither I nor
@asb noticed this until after https://reviews.llvm.org/D63498 landed.
This patch stops passing the (unknown) "save-restore" target feature to
the LLVM backend, but continues to emit a warning if a driver asks for
`-msave-restore`. The default of assuming `-mno-save-restore` (and
emitting no warnings) remains.
Reviewers: asb
Reviewed By: asb
Subscribers: rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, cfe-commits, asb
Tags: #clang
Differential Revision: https://reviews.llvm.org/D64008
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364777
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 1 Jul 2019 14:33:26 +0000 (14:33 +0000)]
[ASTImporter] Silence unused variable warning in Release builds. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364774
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Marton [Mon, 1 Jul 2019 14:19:53 +0000 (14:19 +0000)]
[ASTImporter] Mark erroneous nodes in from ctx
Summary:
During import of a specific Decl D, it may happen that some AST nodes
had already been created before we recognize an error. In this case we
signal back the error to the caller, but the "to" context remains
polluted with those nodes which had been created. Ideally, those nodes
should not had been created, but that time we did not know about the
error, the error happened later. Since the AST is immutable (most of
the cases we can't remove existing nodes) we choose to mark these nodes
as erroneous.
Here are the steps of the algorithm:
1) We keep track of the nodes which we visit during the import of D: See
ImportPathTy.
2) If a Decl is already imported and it is already on the import path
(we have a cycle) then we copy/store the relevant part of the import
path. We store these cycles for each Decl.
3) When we recognize an error during the import of D then we set up this
error to all Decls in the stored cycles for D and we clear the stored
cycles.
Reviewers: a_sidorin, a.sidorin, shafik
Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D62375
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364771
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Marton [Mon, 1 Jul 2019 12:44:39 +0000 (12:44 +0000)]
[ASTImporter] Propagate error from ImportDeclContext
Summary:
During analysis of one project we failed to import one
CXXDestructorDecl. But since we did not propagate the error in
importDeclContext we had a CXXRecordDecl without a destructor. Then the
analyzer engine had a CallEvent where the nonexistent dtor was requested
(crash).
Solution is to propagate the errors we have during importing a
DeclContext.
Reviewers: a_sidorin, a.sidorin, shafik
Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63603
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364752
91177308-0d34-0410-b5e6-
96231b3b80d8
Mike Spertus [Sun, 30 Jun 2019 22:04:25 +0000 (22:04 +0000)]
Various tweaks to MSVC natvis visualizers
Make more consistent use of na format.
Improve visualization of deduction guides.
Add visualizer for explicit specifier (including conditionally explicit)
Fix some typos
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364724
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Sun, 30 Jun 2019 11:19:56 +0000 (11:19 +0000)]
Cleanup: llvm::bsearch -> llvm::partition_point after r364719
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364720
91177308-0d34-0410-b5e6-
96231b3b80d8
Fangrui Song [Sat, 29 Jun 2019 01:24:36 +0000 (01:24 +0000)]
[Driver] Fix style issues of --print-supported-cpus after D63105
Reviewed By: ziangwan
Differential Revision: https://reviews.llvm.org/D63822
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364704
91177308-0d34-0410-b5e6-
96231b3b80d8
Leonard Chan [Sat, 29 Jun 2019 00:10:22 +0000 (00:10 +0000)]
Revert "[clang][NewPM] Fix broken profile test"
This reverts commit
ab2c0ed01edfec9a9402d03bdf8633b34b73f3a7.
See https://reviews.llvm.org/D63155
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364692
91177308-0d34-0410-b5e6-
96231b3b80d8
Jan Korous [Fri, 28 Jun 2019 22:37:31 +0000 (22:37 +0000)]
[clang][test][NFC] Explicitly specify clang ABI in AST Dumper test
Clang <= 4 used the pre-C++11 rule about which structures can be passed in registers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364690
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Fri, 28 Jun 2019 20:45:14 +0000 (20:45 +0000)]
[OPENMP]Improve analysis of implicit captures.
If the variable is used in the OpenMP region implicitly, we need to
check the data-sharing attributes for such variables and generate
implicit clauses for them. Patch improves analysis of such variables for
better handling of data-sharing rules.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364683
91177308-0d34-0410-b5e6-
96231b3b80d8
Brad Smith [Fri, 28 Jun 2019 19:57:51 +0000 (19:57 +0000)]
Revert enabling frame pointer elimination on OpenBSD for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364679
91177308-0d34-0410-b5e6-
96231b3b80d8
Volodymyr Sapsai [Fri, 28 Jun 2019 17:42:17 +0000 (17:42 +0000)]
[ODRHash] Fix null pointer dereference for ObjC selectors with empty slots.
`Selector::getIdentifierInfoForSlot` returns NULL if a slot has no
corresponding identifier. Add a boolean to the hash and a NULL check.
rdar://problem/
51615164
Reviewers: rtrieu
Reviewed By: rtrieu
Subscribers: dexonsmith, cfe-commits, jkorous
Differential Revision: https://reviews.llvm.org/D63789
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364664
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Fri, 28 Jun 2019 16:16:00 +0000 (16:16 +0000)]
[OPENMP]Fix top DSA for static members.
Fixed handling of the data-sharing attributes for static members when
requesting top most attribute. Previously, it might return the incorrect
attributes for static members if they were overriden in the outer
constructs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364655
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Fri, 28 Jun 2019 15:16:37 +0000 (15:16 +0000)]
[OPENMP]Fix DSA for loop iteration variables in simd loops.
According to the OpenMP 5.0 standard, the loop iteration variable in the associated
for-loop of a simd construct with just one associated for-loop may be
listed in a private, lastprivate, or linear clause with a linear-step
that is the increment of the associated for-loop. Also, the loop
teration variables in the associated for-loops of a simd construct with
multiple associated for-loops may be listed in a private or lastprivate
clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364650
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Fri, 28 Jun 2019 15:08:03 +0000 (15:08 +0000)]
[Hexagon] driver uses out-of-date option name and binary name
Patch by A. Skrobov (t.yomitch).
Differential Revision: https://reviews.llvm.org/D62127
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364648
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Fri, 28 Jun 2019 14:59:25 +0000 (14:59 +0000)]
[OPENMP]Fix checks for DSA in simd constructs.
The errors for incorrectly specified data-sharing attributes for simd
constructs must be emitted only for the explicitly provided clauses, not
the predetermined ones.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364647
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Marton [Fri, 28 Jun 2019 08:08:51 +0000 (08:08 +0000)]
[CTU] Add missing statistics
Reviewers: xazax.hun
Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63878
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364630
91177308-0d34-0410-b5e6-
96231b3b80d8
Nathan Huckleberry [Thu, 27 Jun 2019 22:46:40 +0000 (22:46 +0000)]
[analyzer] Fix clang-tidy crash on GCCAsmStmt
Summary:
Added entry in switch statement to recognize GCCAsmStmt
as a possible block terminator.
Handling to build CFG using GCCAsmStmt was already implemented.
Reviewers: nickdesaulniers, george.karpenkov, NoQ
Reviewed By: nickdesaulniers, NoQ
Subscribers: xbolva00, tmroeder, xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63533
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364605
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Thu, 27 Jun 2019 21:16:19 +0000 (21:16 +0000)]
Pattern match struct types in test case.
This simplifies the test cases in a patch I'm planning to send later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364595
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Thu, 27 Jun 2019 18:53:07 +0000 (18:53 +0000)]
[OPENMP]Generate correctly implicit flags for mapped data.
Implicit flag must not be emitted for explicitly specified firstprivate
variables, but for implicitly captured sizes of the VLAs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364575
91177308-0d34-0410-b5e6-
96231b3b80d8
Djordje Todorovic [Thu, 27 Jun 2019 06:44:44 +0000 (06:44 +0000)]
[clang] Add DISuprogram and DIE for a func decl
Attach a unique DISubprogram to a function declaration that will be
used for call site debug info.
([7/13] Introduce the debug entry values.)
Co-authored-by: Ananth Sowda <asowda@cisco.com>
Co-authored-by: Nikola Prica <nikola.prica@rt-rk.com>
Co-authored-by: Ivan Baev <ibaev@cisco.com>
Differential Revision: https://reviews.llvm.org/D60714
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364502
91177308-0d34-0410-b5e6-
96231b3b80d8
Vitaly Buka [Thu, 27 Jun 2019 02:08:15 +0000 (02:08 +0000)]
[NFC] Return early for types with size zero
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364495
91177308-0d34-0410-b5e6-
96231b3b80d8
Vitaly Buka [Thu, 27 Jun 2019 01:34:21 +0000 (01:34 +0000)]
[NFC] Remove unneeded local variables
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364492
91177308-0d34-0410-b5e6-
96231b3b80d8
Erik Pilkington [Wed, 26 Jun 2019 23:39:23 +0000 (23:39 +0000)]
[ObjC] Improve error message for a malformed objc-type-name
If the type didn't exist, we used to emit a really bad error:
t.m:3:12: error: expected ')'
-(nullable NoSuchType)foo3;
^
rdar://
50925632
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364489
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Puchert [Wed, 26 Jun 2019 21:39:19 +0000 (21:39 +0000)]
Fix formatting after r364479
The reflowing obscurs the functional changes, so here is a separate
commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364480
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Puchert [Wed, 26 Jun 2019 21:36:35 +0000 (21:36 +0000)]
[Clang] Remove unused -split-dwarf and obsolete -enable-split-dwarf
Summary:
The changes in D59673 made the choice redundant, since we can achieve
single-file split DWARF just by not setting an output file name.
Like llc we can also derive whether to enable Split DWARF from whether
-split-dwarf-file is set, so we don't need the flag at all anymore.
The test CodeGen/split-debug-filename.c distinguished between having set
or not set -enable-split-dwarf with -split-dwarf-file, but we can
probably just always emit the metadata into the IR.
The flag -split-dwarf wasn't used at all anymore.
Reviewers: dblaikie, echristo
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D63167
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364479
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 26 Jun 2019 21:16:51 +0000 (21:16 +0000)]
Revert r363191 "[MS] Pretend constexpr variable template specializations are inline"
The next Visual Studio update will fix this issue, and it doesn't make
sense to implement this non-conforming behavior going forward.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364476
91177308-0d34-0410-b5e6-
96231b3b80d8
Alex Lorenz [Wed, 26 Jun 2019 21:11:51 +0000 (21:11 +0000)]
[clang-scan-deps] Introduce the DependencyScanning library with the
thread worker code and better error handling
This commit extracts out the code that will powers the fast scanning
worker into a new file in a new DependencyScanning library. The error
and output handling is improved so that the clients can gather
errors/results from the worker directly.
Differential Revision: https://reviews.llvm.org/D63681
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364474
91177308-0d34-0410-b5e6-
96231b3b80d8
Guanzhong Chen [Wed, 26 Jun 2019 20:16:14 +0000 (20:16 +0000)]
[WebAssembly] Implement Address Sanitizer for Emscripten
Summary:
This diff enables address sanitizer on Emscripten.
On Emscripten, real memory starts at the value passed to --global-base.
All memory before this is used as shadow memory, and thus the shadow mapping
function is simply dividing by 8.
Reviewers: tlively, aheejin, sbc100
Reviewed By: sbc100
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D63742
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364468
91177308-0d34-0410-b5e6-
96231b3b80d8
JF Bastien [Wed, 26 Jun 2019 19:50:12 +0000 (19:50 +0000)]
BitStream reader: propagate errors
The bitstream reader handles errors poorly. This has two effects:
* Bugs in file handling (especially modules) manifest as an "unexpected end of
file" crash
* Users of clang as a library end up aborting because the code unconditionally
calls `report_fatal_error`
The bitstream reader should be more resilient and return Expected / Error as
soon as an error is encountered, not way late like it does now. This patch
starts doing so and adopting the error handling where I think it makes sense.
There's plenty more to do: this patch propagates errors to be minimally useful,
and follow-ups will propagate them further and improve diagnostics.
https://bugs.llvm.org/show_bug.cgi?id=42311
<rdar://problem/
33159405>
Differential Revision: https://reviews.llvm.org/D63518
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364464
91177308-0d34-0410-b5e6-
96231b3b80d8
Xing Xue [Wed, 26 Jun 2019 19:27:16 +0000 (19:27 +0000)]
Print NULL as "(null)" in diagnostic message
Summary:
Passing a null pointer to the printf family for a %s format specifier leads to undefined behaviour. The tests currently expect (null). Explicitly test for a null pointer and provide the expected string.
Authored By: andusy
Reviewers: hubert.reinterpretcast, xingxue, jasonliu, daltenty, cebowleratibm
Reviewed By: hubert.reinterpretcast
Subscribers: arphaman, jsji, cfe-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63786
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364462
91177308-0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Wed, 26 Jun 2019 17:51:47 +0000 (17:51 +0000)]
Make AddLastArg() variadic and use it more. No behavior change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364453
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Liao [Wed, 26 Jun 2019 14:13:43 +0000 (14:13 +0000)]
Make CodeGen depend on ASTMatchers
- Shared library builds are broken due to the missing dependency.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364428
91177308-0d34-0410-b5e6-
96231b3b80d8
Djordje Todorovic [Wed, 26 Jun 2019 13:32:02 +0000 (13:32 +0000)]
[clang/DIVar] Emit the flag for params that have unmodified value
Emit the debug info flag that indicates that a parameter has unchanged
value throughout a function.
([5/13] Introduce the debug entry values.)
Co-authored-by: Ananth Sowda <asowda@cisco.com>
Co-authored-by: Nikola Prica <nikola.prica@rt-rk.com>
Co-authored-by: Ivan Baev <ibaev@cisco.com>
Differential Revision: https://reviews.llvm.org/D58035
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364424
91177308-0d34-0410-b5e6-
96231b3b80d8
Sven van Haastregt [Wed, 26 Jun 2019 13:31:24 +0000 (13:31 +0000)]
[OpenCL] Improve diagnostic for placement new
Without an explicit declaration for placement new, clang would reject
uses of placement new with "'default new' is not supported in OpenCL
C++". This may mislead users into thinking that placement new is not
supported, see e.g. PR42060.
Clarify that placement new requires an explicit declaration.
Differential Revision: https://reviews.llvm.org/D63561
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364423
91177308-0d34-0410-b5e6-
96231b3b80d8
Djordje Todorovic [Wed, 26 Jun 2019 10:23:25 +0000 (10:23 +0000)]
[clang] Fix test failures after the rL364399
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364402
91177308-0d34-0410-b5e6-
96231b3b80d8
Djordje Todorovic [Wed, 26 Jun 2019 09:38:09 +0000 (09:38 +0000)]
[CC1Option] Add the option to enable the debug entry values
The option enables debug info about parameter's entry values.
The example of using the option:
clang -g -O2 -Xclang -femit-debug-entry-values test.c
In addition, when the option is set add the flag all_call_sites
in a subprogram in order to support GNU extension as well.
([3/13] Introduce the debug entry values.)
Co-authored-by: Ananth Sowda <asowda@cisco.com>
Co-authored-by: Nikola Prica <nikola.prica@rt-rk.com>
Co-authored-by: Ivan Baev <ibaev@cisco.com>
Differential Revision: https://reviews.llvm.org/D58033
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364399
91177308-0d34-0410-b5e6-
96231b3b80d8
Kadir Cetinkaya [Wed, 26 Jun 2019 08:39:42 +0000 (08:39 +0000)]
[clang][Tooling] Fix windows build-bots after rL364386
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364396
91177308-0d34-0410-b5e6-
96231b3b80d8
Kadir Cetinkaya [Wed, 26 Jun 2019 07:39:03 +0000 (07:39 +0000)]
[clang][Tooling] Infer target and mode from argv[0] when using JSONCompilationDatabase
Summary:
Wraps JSON compilation database with a target and mode adding database
wrapper. So that driver can correctly figure out which toolchain to use.
Note that clients that wants to make use of this target discovery mechanism
needs to link in TargetsInfos and initialize them at startup.
Reviewers: ilya-biryukov
Subscribers: mgorny, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63755
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364386
91177308-0d34-0410-b5e6-
96231b3b80d8
Yaxun Liu [Wed, 26 Jun 2019 03:47:37 +0000 (03:47 +0000)]
[HIP] Support attribute hip_pinned_shadow
This patch introduces support of hip_pinned_shadow variable for HIP.
A hip_pinned_shadow variable is a global variable with attribute hip_pinned_shadow.
It has external linkage on device side and has no initializer. It has internal
linkage on host side and has initializer or static constructor. It can be accessed
in both device code and host code.
This allows HIP runtime to implement support of HIP texture reference.
Differential Revision: https://reviews.llvm.org/D62738
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364381
91177308-0d34-0410-b5e6-
96231b3b80d8
Yaxun Liu [Wed, 26 Jun 2019 03:33:03 +0000 (03:33 +0000)]
Fix build failure due to missing break
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364380
91177308-0d34-0410-b5e6-
96231b3b80d8
Artem Dergachev [Wed, 26 Jun 2019 00:14:49 +0000 (00:14 +0000)]
[analyzer] exploded-graph-rewriter: Prettier location context dumps.
Make them span wider.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364365
91177308-0d34-0410-b5e6-
96231b3b80d8
Ziang Wan [Tue, 25 Jun 2019 23:57:14 +0000 (23:57 +0000)]
print-supported-cpus quality of life patch.
Claim all input files so that clang does not give a warning. Add two
short-cut aliases: -mcpu=? and -mtune=?.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364362
91177308-0d34-0410-b5e6-
96231b3b80d8
Rumeet Dhindsa [Tue, 25 Jun 2019 22:58:25 +0000 (22:58 +0000)]
Revert Devirtualize destructor of final class.
This reverts r364100 (git commit
405c2b16225fc6eaf5eb8ba3ce584699a3b159ef)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364359
91177308-0d34-0410-b5e6-
96231b3b80d8
Saleem Abdulrasool [Tue, 25 Jun 2019 21:43:34 +0000 (21:43 +0000)]
android: enable double-word CAS on x64
The android target assumes that for the x86_64 target, the CPU supports SSE4.2
and popcnt. This implies that the CPU is Nehalem or newer. This should be
sufficiently new to provide the double word compare and exchange instruction.
This allows us to directly lower `__sync_val_compare_and_swap_16` to a `cmpxchg16b`.
It appears that the libatomic in android's NDK does not provide the
implementation for lowering calls to the library function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364352
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 25 Jun 2019 20:40:27 +0000 (20:40 +0000)]
Remove redundant expression evaluation context when substituting into a
template argument.
We do need one of these but we don't need two.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364347
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 25 Jun 2019 18:42:53 +0000 (18:42 +0000)]
Add regression test for PR41576 (which is already fixed in trunk,
perhaps by r361300).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364340
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Tatham [Tue, 25 Jun 2019 16:49:32 +0000 (16:49 +0000)]
[ARM] Support inline assembler constraints for MVE.
"To" selects an odd-numbered GPR, and "Te" an even one. There are some
8.1-M instructions that have one too few bits in their register fields
and require registers of particular parity, without necessarily using
a consecutive even/odd pair.
Also, the constraint letter "t" should select an MVE q-register, when
MVE is present. This didn't need any source changes, but some extra
tests have been added.
Reviewers: dmgreen, samparker, SjoerdMeijer
Subscribers: javed.absar, eraman, kristof.beyls, hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D60709
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364331
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Tue, 25 Jun 2019 16:00:43 +0000 (16:00 +0000)]
[OPENMP]Fix PR41966: type mismatch in runtime functions.
Target-based runtime functions use int64_t type for sizes, while the
compiler uses size_t type. It leads to miscompilation in 32 bit mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364327
91177308-0d34-0410-b5e6-
96231b3b80d8
Haojian Wu [Tue, 25 Jun 2019 08:43:17 +0000 (08:43 +0000)]
[clangd] Narrow rename to local symbols.
Summary:
Previously, we performed rename for all kinds of symbols (local, global).
This patch narrows the scope by only renaming symbols not being used
outside of the main file (with index asisitance). Renaming global
symbols is not supported at the moment (return an error).
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63426
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364283
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Marton [Tue, 25 Jun 2019 08:00:51 +0000 (08:00 +0000)]
[ASTImporter] Store import errors for Decls
Summary:
We add a new member which is a mapping from the already-imported
declarations in the "from" context to the error status of the import of
that declaration. This map contains only the declarations that were not
correctly imported. The same declaration may or may not be included in
ImportedDecls. This map is updated continuously during imports and never
cleared (like ImportedDecls). In Import(Decl*) we use this mapping, so
if there was a previous failed import we return with the existing error.
We add/remove from the Lookuptable in consistency with ImportedFromDecls.
When we map a decl in the 'to' context to something in the 'from'
context then and only then we add it to the lookup table. When we
remove a mapping then and only then we remove it from the lookup table.
This patch is the first in a series of patches whose aim is to further
strengthen the error handling in ASTImporter.
Reviewers: a_sidorin, a.sidorin, shafik
Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D62373
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364279
91177308-0d34-0410-b5e6-
96231b3b80d8
Csaba Dabis [Tue, 25 Jun 2019 03:17:55 +0000 (03:17 +0000)]
[analyzer] print() JSONify: Create pointers
Summary: -
Reviewers: NoQ
Reviewed By: NoQ
Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin,
mikhail.ramalho, Szelethus, donat.nagy, dkrupp, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63726
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364271
91177308-0d34-0410-b5e6-
96231b3b80d8
Csaba Dabis [Tue, 25 Jun 2019 03:08:32 +0000 (03:08 +0000)]
[analyzer] JsonSupport: Escape escapes
Summary: -
Reviewers: NoQ
Reviewed By: NoQ
Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin,
mikhail.ramalho, Szelethus, donat.nagy, dkrupp, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63462
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364270
91177308-0d34-0410-b5e6-
96231b3b80d8
Artem Dergachev [Tue, 25 Jun 2019 02:16:56 +0000 (02:16 +0000)]
[analyzer] exploded-graph-rewriter: Fix escaping for bitwise-or.
'|' is a special character in graphviz, so it needs to be properly
escaped and unescaped.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364269
91177308-0d34-0410-b5e6-
96231b3b80d8
Artem Dergachev [Tue, 25 Jun 2019 02:16:53 +0000 (02:16 +0000)]
[analyzer] exploded-graph-rewriter: Add support for range constraints.
Diff support included.
A cheap solution is implemented that treats range constraints as
"some sort of key-value map", so it's going to be trivial
to add support for other such maps later, such as dynamic type info.
Differential Revision: https://reviews.llvm.org/D63685
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364268
91177308-0d34-0410-b5e6-
96231b3b80d8
Artem Dergachev [Tue, 25 Jun 2019 02:16:50 +0000 (02:16 +0000)]
[analyzer] NFC: exploded-graph-rewriter: Extract some code into functions.
Differential Revision: https://reviews.llvm.org/D63684
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364267
91177308-0d34-0410-b5e6-
96231b3b80d8
Artem Dergachev [Tue, 25 Jun 2019 02:16:47 +0000 (02:16 +0000)]
[analyzer] Add more timers for performance profiling.
The -analyzer-stats flag now allows you to find out how much time was spent
on AST-based analysis and on path-sensitive analysis and, separately,
on bug visitors, as they're occasionally a performance problem on their own.
The total timer wasn't useful because there's anyway a total time printed out.
Remove it.
Differential Revision: https://reviews.llvm.org/D63227
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364266
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 25 Jun 2019 01:45:26 +0000 (01:45 +0000)]
[cxx2a] P1236R1: the validity of a left shift does not depend on the
value of the LHS operand.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364265
91177308-0d34-0410-b5e6-
96231b3b80d8
Csaba Dabis [Tue, 25 Jun 2019 00:44:33 +0000 (00:44 +0000)]
[analyzer] ExprEngine: Escape pointers in bitwise operations
Summary:
After evaluation it would be an Unknown value and tracking would be lost.
Reviewers: NoQ, xazax.hun, ravikandhadai, baloghadamsoftware, Szelethus
Reviewed By: NoQ
Subscribers: szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy,
dkrupp, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63720
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364259
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Mon, 24 Jun 2019 23:34:06 +0000 (23:34 +0000)]
AMDGPU: Fix missing declaration for mbcnt builtins
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364251
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Yung [Mon, 24 Jun 2019 22:26:08 +0000 (22:26 +0000)]
Fix test cl-response-file.c to work on all platforms including Windows/Solaris.
Differential Revision: https://reviews.llvm.org/D63678
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364245
91177308-0d34-0410-b5e6-
96231b3b80d8
Ilya Biryukov [Mon, 24 Jun 2019 21:39:51 +0000 (21:39 +0000)]
[Syntax] Do not glue multiple empty PP expansions to a single mapping
Summary:
This change makes sure we have a single mapping for each macro expansion,
even if the result of expansion was empty.
To achieve that, we take information from PPCallbacks::MacroExpands into
account. Previously we relied only on source locations of expanded tokens.
Reviewers: sammccall
Reviewed By: sammccall
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D62953
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364236
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Mon, 24 Jun 2019 20:07:11 +0000 (20:07 +0000)]
Augment location information when dumping the AST to JSON.
Rather than create JSON objects for source locations and ranges, we instead stream them out directly. This allows us to elide duplicate information (without JSON field reordering causing an issue) like file names and line numbers, similar to the text dump. This also adds token length information when dumping the source location.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364226
91177308-0d34-0410-b5e6-
96231b3b80d8
Leonard Chan [Mon, 24 Jun 2019 16:49:18 +0000 (16:49 +0000)]
[clang][NewPM] Add RUNS for tests that produce slightly different IR under new PM
For CodeGenOpenCL/convergent.cl, the new PM produced a slightly different for
loop, but this still checks for no loop unrolling as intended. This is
committed separately from D63174.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364202
91177308-0d34-0410-b5e6-
96231b3b80d8
Leonard Chan [Mon, 24 Jun 2019 16:44:27 +0000 (16:44 +0000)]
[clang][NewPM] Remove exception handling before loading pgo sample profile data
This patch ensures that SimplifyCFGPass comes before SampleProfileLoaderPass
on PGO runs in the new PM and fixes clang/test/CodeGen/pgo-sample.c.
Differential Revision: https://reviews.llvm.org/D63626
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364201
91177308-0d34-0410-b5e6-
96231b3b80d8
Csaba Dabis [Mon, 24 Jun 2019 16:19:39 +0000 (16:19 +0000)]
[analyzer] print() JSONify: ProgramPoint revision
Summary: Now we also print out the filename with its path.
Reviewers: NoQ
Reviewed By: NoQ
Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin,
mikhail.ramalho, Szelethus, donat.nagy, dkrupp, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63438
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364197
91177308-0d34-0410-b5e6-
96231b3b80d8
Csaba Dabis [Mon, 24 Jun 2019 16:06:44 +0000 (16:06 +0000)]
[analyzer] Fix JSON dumps for ExplodedNodes
Summary:
- Now we could see the `has_report` property in `trim-egraph` mode.
- This patch also removes the trailing comma after each node.
Reviewers: NoQ
Reviewed By: NoQ
Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin,
mikhail.ramalho, Szelethus, donat.nagy, dkrupp, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63436
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364193
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Mon, 24 Jun 2019 15:30:20 +0000 (15:30 +0000)]
[OPENMP]Relax the test checks to pacify 32bit buildbots, NFC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364189
91177308-0d34-0410-b5e6-
96231b3b80d8
Konstantin Pyzhov [Mon, 24 Jun 2019 14:40:20 +0000 (14:40 +0000)]
[CUDA][HIP] Don't set comdat attribute for CUDA device stub functions.\nDifferential Revision: https://reviews.llvm.org/D63277
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364183
91177308-0d34-0410-b5e6-
96231b3b80d8
Sven van Haastregt [Mon, 24 Jun 2019 10:06:40 +0000 (10:06 +0000)]
[OpenCL] Restore ATOMIC_VAR_INIT
We accidentally lost the ATOMIC_VAR_INIT and ATOMIC_FLAG_INIT macros
in r363794.
Also put the `memory_order` typedef back inside a `>= CL2.0` guard.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364174
91177308-0d34-0410-b5e6-
96231b3b80d8
Sven van Haastregt [Mon, 24 Jun 2019 10:06:34 +0000 (10:06 +0000)]
[OpenCL] Remove more duplicates from opencl-c.h
Identified the duplicate declarations using
sort lib/Headers/opencl-c.h | uniq -c | grep ' 2'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364173
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Mon, 24 Jun 2019 05:53:11 +0000 (05:53 +0000)]
PR42362: Fix auto deduction of template parameter packs from
type-dependent argument packs.
We need to strip off the PackExpansionExpr to get the real (dependent)
type rather than an opaque DependentTy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364165
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sun, 23 Jun 2019 17:42:18 +0000 (17:42 +0000)]
Fix test for 32-bit targets.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364157
91177308-0d34-0410-b5e6-
96231b3b80d8
Saleem Abdulrasool [Sun, 23 Jun 2019 02:53:03 +0000 (02:53 +0000)]
Revert "builtins: relax __iso_volatile_{load,store}32"
This reverts commit SVN r364137. This seems to be cause problems with
casting in C.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364147
91177308-0d34-0410-b5e6-
96231b3b80d8
Mike Spertus [Sun, 23 Jun 2019 01:15:48 +0000 (01:15 +0000)]
MSVC visualizers for type aliases
For example, the following TypeAliasTemplateDecl now displays in the autos window as
template<class T> using type_identity_t = type_identity<T>::type;
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364145
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 22 Jun 2019 21:30:43 +0000 (21:30 +0000)]
Fix TBAA representation for zero-sized fields and unnamed bit-fields.
Unnamed bit-fields should not be represented in the TBAA metadata
because they do not represent storage fields (they only affect layout).
Zero-sized fields should not be represented in the TBAA metadata
because by definition they have no associated storage (so we will never
emit a load or store through them), and they might not appear in
declaration order within the struct layout.
Fixes a verifier failure when emitting a TBAA-enabled load through a
class type containing a zero-sized field.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364140
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 22 Jun 2019 20:41:57 +0000 (20:41 +0000)]
Remove reliance on toCharUnitsFromBits rounding down.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364139
91177308-0d34-0410-b5e6-
96231b3b80d8
Mike Spertus [Sat, 22 Jun 2019 18:56:40 +0000 (18:56 +0000)]
Natural MSVC visualization of constructors
E.g., Allow MSVC to visualize a CXXConstructorDecl like
Constructor { Y(type_identity_t<T>)}
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364138
91177308-0d34-0410-b5e6-
96231b3b80d8
Saleem Abdulrasool [Sat, 22 Jun 2019 18:55:51 +0000 (18:55 +0000)]
builtins: relax __iso_volatile_{load,store}32
This is reduced from MSVC's MSVCPRT 14.21.27702 atomic header. Because
Windows is a LLP64 environment, `long`, `long int`, and `int` are all
synonymous. Change the signature for `__iso_volatile_load32` and
`__iso_volatile_store32` to accept a `long int` instead. This allows
an implicit cast of `int` to `long int` while also permitting `long`
to be accepted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364137
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sat, 22 Jun 2019 07:21:48 +0000 (07:21 +0000)]
[X86] Don't use _MM_FROUND_CUR_DIRECTION in the intrinsics tests.
_MM_FROUND_CUR_DIRECTION is the behavior of the intrinsics that
don't take a rounding mode argument. So a better test
is using _MM_FROUND_NO_EXC with the SAE only intrinsics and
an explicit rounding mode with the intrinsics that support
embedded rounding mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364127
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Sat, 22 Jun 2019 01:30:00 +0000 (01:30 +0000)]
AMDGPU: Fix target builtins for gfx10
This wasn't setting some of the features from older generations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364123
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Trieu [Sat, 22 Jun 2019 00:32:19 +0000 (00:32 +0000)]
[ODRHash] Skip some typedef types.
In some cases, a typedef only strips aways a keyword for a type, keeping the
same name as the root record type. This causes some confusion when the type
is defined in one modules but only forward declared in another. Skipping the
typedef and going straight to the record will avoid this issue.
typedef struct S {} S;
S* s; // S is TypedefType here
struct S;
S* s; // S is RecordType here
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364119
91177308-0d34-0410-b5e6-
96231b3b80d8
Erich Keane [Fri, 21 Jun 2019 22:31:59 +0000 (22:31 +0000)]
Remove binary finally accidentially committed in r364109
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364110
91177308-0d34-0410-b5e6-
96231b3b80d8
Erich Keane [Fri, 21 Jun 2019 22:29:32 +0000 (22:29 +0000)]
Ensure Target Features always_inline error happens in C++ cases.
A handful of C++ cases as reported in PR42352 didn't actually give an
error when always_inlining with a different target feature list. This
resulted in broken IR.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364109
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 21 Jun 2019 22:28:52 +0000 (22:28 +0000)]
Fix has_attribute.cpp test on Windows after r364102
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364108
91177308-0d34-0410-b5e6-
96231b3b80d8
George Burgess IV [Fri, 21 Jun 2019 20:49:47 +0000 (20:49 +0000)]
clang-format a block; NFC
The indentation of the return here was off, and confusing as a result.
Cleaned up a bit extra while I was in the area.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364104
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 21 Jun 2019 20:46:22 +0000 (20:46 +0000)]
PR42301: Abort cleanly if we encounter a huge source file rather than
crashing.
Ideally we wouldn't care about the size of a file so long as it fits in
memory, but in practice we have lots of hardocded assumptions that
unsigned can be used to index files, string literals, and so on.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364103
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 21 Jun 2019 20:20:21 +0000 (20:20 +0000)]
Fix __has_cpp_attribute expansion to produce trailing L and (where
necessary) leading whitespace.
Simplify unit test and extend to cover no_unique_address attribute.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364102
91177308-0d34-0410-b5e6-
96231b3b80d8
Hiroshi Yamauchi [Fri, 21 Jun 2019 20:04:29 +0000 (20:04 +0000)]
Devirtualize destructor of final class.
Summary:
Take advantage of the final keyword to devirtualize destructor calls.
Fix https://bugs.llvm.org/show_bug.cgi?id=21368
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: davidxl, Prazek, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63161
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364100
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 21 Jun 2019 18:33:20 +0000 (18:33 +0000)]
Revert [test][Driver] Fix Clang :: Driver/cl-response-file.c
This reverts r363985 (git commit
d5f16d6cfccc4b0b13b6c01d16c673886d53e695)
This test can't use printf on Windows because the path contains
backslashes which must not be interpreted as escapes by printf.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364089
91177308-0d34-0410-b5e6-
96231b3b80d8
Alex Lorenz [Fri, 21 Jun 2019 18:24:55 +0000 (18:24 +0000)]
[clang-scan-deps] print the dependencies to stdout
and remove the need to use -MD options in the CDB
Differential Revision: https://reviews.llvm.org/D63579
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364088
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 21 Jun 2019 17:41:20 +0000 (17:41 +0000)]
Fix ARM buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364081
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Fri, 21 Jun 2019 17:28:41 +0000 (17:28 +0000)]
[OPENMP]Fix PR42068: Vla type is not captured.
If the variably modified type is declared outside of the captured region
and then used in the cast expression along with array subscript
expression, the type is not captured and it leads to the compiler crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364080
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Fri, 21 Jun 2019 17:14:25 +0000 (17:14 +0000)]
Ensure that top-level QualType objects also have a "kind" field when dumping the AST to JSON.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364078
91177308-0d34-0410-b5e6-
96231b3b80d8
Anastasia Stulova [Fri, 21 Jun 2019 16:19:16 +0000 (16:19 +0000)]
[OpenCL][PR41963] Add generic addr space to old atomics in C++ mode
Add overloads with generic address space pointer to old atomics.
This is currently only added for C++ compilation mode.
Differential Revision: https://reviews.llvm.org/D62335
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364071
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Fri, 21 Jun 2019 16:06:09 +0000 (16:06 +0000)]
Print more type node information when dumping the AST to JSON.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364067
91177308-0d34-0410-b5e6-
96231b3b80d8
Leonard Chan [Fri, 21 Jun 2019 16:03:06 +0000 (16:03 +0000)]
[clang][NewPM] Add -fno-experimental-new-pass-manager to tests
As per the discussion on D58375, we disable test that have optimizations under
the new PM. This patch adds -fno-experimental-new-pass-manager to RUNS that:
- Already run with optimizations (-O1 or higher) that were missed in D58375.
- Explicitly test new PM behavior along side some new PM RUNS, but are missing
this flag if new PM is enabled by default.
- Specify -O without the number. Based on getOptimizationLevel(), it seems the
default is 2, and the IR appears to be the same when changed to -O2, so
update the test to explicitly say -O2 and provide -fno-experimental-new-pass-manager`.
Differential Revision: https://reviews.llvm.org/D63156
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364066
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Bataev [Fri, 21 Jun 2019 15:08:30 +0000 (15:08 +0000)]
[OPENMP]Fix PR42159: do not capture threadprivate variables.
The threadprivate variables should not be captured in the outlined
regions, otherwise it leads to the compiler crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364061
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Fri, 21 Jun 2019 14:37:39 +0000 (14:37 +0000)]
Add an automated note to files produced by gen_ast_dump_json_test.py.
This also details what filters, if any, were used to generate the test output. Updates all the current JSON testing files to include the automated note.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364055
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Fri, 21 Jun 2019 13:22:35 +0000 (13:22 +0000)]
Print information about various type nodes when dumping the AST to JSON.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364043
91177308-0d34-0410-b5e6-
96231b3b80d8