platform/upstream/llvm.git
4 years ago[AST][RecoveryExpr] Make DeduceAutoType fail if the auto is deduced from recovery...
Haojian Wu [Tue, 19 May 2020 16:05:15 +0000 (18:05 +0200)]
[AST][RecoveryExpr] Make DeduceAutoType fail if the auto is deduced from recovery exprs.

Summary:
With recovery-ast, we will get an undeduced `auto` return type for
"auto foo()->undef()" function declaration, the function decl still keeps
valid, it is dangerous, and breaks assumptions in clang, and leads crashes.

This patch invalidates these functions, if we deduce autos from the
return rexpression, which is similar to auto VarDecl.

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80221

4 years agoNew intrinsic @llvm.get.active.lane.mask()
Sjoerd Meijer [Fri, 29 May 2020 07:27:22 +0000 (08:27 +0100)]
New intrinsic @llvm.get.active.lane.mask()

This is split off from D79100 and:
- adds a intrinsic description/definition for @llvm.get.active.lane.mask(), and
- describe its semantics in LangRef.

As described (in more detail) in its LangRef section, it is semantically
equivalent to an icmp with the vector induction variable and the back-edge
taken count, and generates a mask of active/inactive vector lanes.

It will have several use cases. First, it will be used by the
ExpandVectorPredication pass for the VP intrinsics, to expand VP intrinsics for
scalable vectors on targets that do not support the `%evl` parameter, see
D78203.

Also, this is part of, and essential for our ARM MVE tail-predication story:
- this intrinsic will be emitted by the LoopVectorizer in D79100, when
  the scalar epilogue is tail-folded into the vector body. This new intrinsic
  will generate the predicate for the masked loads/stores, and it takes the
  back-edge taken count as an argument. The back-edge taken count represents the
  number of elements processed by the loop, which we need to setup MVE
  tail-predication.
- Emitting the intrinsic is controlled by a new TTI hook, see D80597.
- We pick up this new intrinsic in an ARM MVETailPredication backend pass, see
  D79175, and convert it to a MVE target specific intrinsic/instruction to
  create a tail-predicated loop.

Differential Revision: https://reviews.llvm.org/D80596

4 years agolibclc: update website url
davidak [Thu, 28 May 2020 20:33:14 +0000 (22:33 +0200)]
libclc: update website url

old link is dead

4 years ago[CMake] Pass CLANG_VENDOR variables into later stages
Sylvestre Ledru [Fri, 29 May 2020 07:13:08 +0000 (09:13 +0200)]
[CMake] Pass CLANG_VENDOR variables into later stages

We are already passing CLANG_VERSION_* & PACKAGE_VENDOR

4 years ago[SVE] Remove getNumElements() warnings in InstCombiner::visitBitCast
David Sherwood [Tue, 26 May 2020 15:07:46 +0000 (16:07 +0100)]
[SVE] Remove getNumElements() warnings in InstCombiner::visitBitCast

Whilst trying to compile this test to assembly:

  CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c

I discovered some warnings were firing in InstCombiner::visitBitCast
due to calls to getNumElements() for scalable vector types. These
calls only really made sense for fixed width vectors so I have fixed
up the code appropriately.

Differential Revision: https://reviews.llvm.org/D80559

4 years ago[SVE] Fix warnings in SelectInst::areInvalidOperands
David Sherwood [Wed, 27 May 2020 14:21:48 +0000 (15:21 +0100)]
[SVE] Fix warnings in SelectInst::areInvalidOperands

We should be comparing the element counts rather than the
numbers of elements.

Differential Revision: https://reviews.llvm.org/D80634

4 years ago[CodeGen] Add support for extracting elements of scalable vectors
David Sherwood [Wed, 6 May 2020 16:14:15 +0000 (17:14 +0100)]
[CodeGen] Add support for extracting elements of scalable vectors

I have tried to ensure that SelectionDAG and DAGCombiner do
sensible things for scalable vectors, and added support for a
limited number of simple folds. Codegen support for the vector
extract patterns have also been added to the AArch64 backend.

New vector extract tests have been added here:

  CodeGen/AArch64/sve-extract-element.ll

and I have also added new folds using inserts and extracts here:

  CodeGen/AArch64/sve-insert-element.ll

Differential Revision: https://reviews.llvm.org/D80208

4 years ago[libc] Add implementation of call_once from threads.h.
Siva Chandra Reddy [Tue, 12 May 2020 23:01:28 +0000 (16:01 -0700)]
[libc] Add implementation of call_once from threads.h.

Reviewers: abrachet, maskray

Differential Revision: https://reviews.llvm.org/D79828

4 years ago[X86] Remove MMX isel patterns containing (x86mmx (scalar_to_vector (i32))).
Craig Topper [Fri, 29 May 2020 06:39:54 +0000 (23:39 -0700)]
[X86] Remove MMX isel patterns containing (x86mmx (scalar_to_vector (i32))).

I don't think we can make such a node. I don't think
x86_mmx is considered a vector for the check in getNode.

4 years ago[AArch64][GlobalISel] Enable extending loads combines post-legalization.
Amara Emerson [Fri, 22 May 2020 21:21:50 +0000 (14:21 -0700)]
[AArch64][GlobalISel] Enable extending loads combines post-legalization.

During legalization we can end up with extends of loads, which in the case of
zexts causes us to not hit tablegen imported patterns.

The caveat here is that we don't want anyext load forming, since some variants
are illegal. This change also prevents the combine from creating any illegal
loads.

Differential Revision: https://reviews.llvm.org/D80458

4 years ago[gn build] Port a6deaeec370
LLVM GN Syncbot [Fri, 29 May 2020 03:47:15 +0000 (03:47 +0000)]
[gn build] Port a6deaeec370

4 years ago[ORC] Add debugging output for LLJIT construction.
Lang Hames [Fri, 29 May 2020 00:55:49 +0000 (17:55 -0700)]
[ORC] Add debugging output for LLJIT construction.

This can be handy for checking whether the LLJIT instance you're constructing
matches your expectations.

4 years ago[JITLink] Improve llvm-jitlink regression testing support for ELF.
Lang Hames [Thu, 28 May 2020 16:02:58 +0000 (09:02 -0700)]
[JITLink] Improve llvm-jitlink regression testing support for ELF.

This patch adds a jitlink pass, 'registerELFGraphInfo', that records section
and symbol information about each LinkGraph in the llvm-jitlink session object.
This allows symbols and sections to be referred to by name in llvm-jitlink
regression tests. This will enable a testcase to be written for
https://reviews.llvm.org/D80613.

4 years ago[JITLink] Fix 80-column rule violation.
Lang Hames [Thu, 28 May 2020 16:40:46 +0000 (09:40 -0700)]
[JITLink] Fix 80-column rule violation.

4 years ago[LoopUnroll] Fix not-rotated.ll by adding back a limitation was unintentionally
Whitney Tsang [Fri, 29 May 2020 03:02:27 +0000 (03:02 +0000)]
[LoopUnroll] Fix not-rotated.ll by adding back a limitation was unintentionally
removed in https://reviews.llvm.org/D80477

4 years ago[Tests] Migrate more statepoint lowering tests to use operand bundles
Philip Reames [Fri, 29 May 2020 03:03:20 +0000 (20:03 -0700)]
[Tests] Migrate more statepoint lowering tests to use operand bundles

Only 2 tests left after this.  They just happen to be the most annoying.

4 years ago[ObjectYAML][DWARF] Add DWARF entry in ELFYAML.
Xing GUO [Fri, 29 May 2020 02:51:37 +0000 (10:51 +0800)]
[ObjectYAML][DWARF] Add DWARF entry in ELFYAML.

This patch adds a new DWARF entry in ELF YAML file.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D80203

4 years ago[WebAssembly] Fix a bug in finding matching EH pad
Heejin Ahn [Mon, 25 May 2020 08:35:35 +0000 (01:35 -0700)]
[WebAssembly] Fix a bug in finding matching EH pad

Summary:
`getMatchingEHPad()` in LateEHPrepare is a function to find the nearest
EH pad that dominates the given instruction. This intends to be
lightweight so it does not use full WebAssemblyException scope analysis
or dominator analysis. It simply does backward BFS to its predecessors
and stops at the first EH pad each search path encounters. All search
should end up at the same EH pad, and if not, it returns null.

But it didn't take into account that when there are inner scopes within
the current scope, some path in BFS can hit an inner EH pad first. For
example, in the given diagram, `Inst` belongs to the outer scope and
`getMathingEHPad()` should return 'EHPad 1', but some search path can go
into the inner scope and end up with 'EHPad 2'. The search will return
null because different paths end up with different EH pads.
```
--- EHPad 1 ---
| - EHPad 2 - |
| |         | |
| ----------- |
|   Inst      |
---------------
```

So far this was OK because we haven't tested a case in which a given
instruction is far from its EH pad. Also, this bug does not happen when
the inner EH scope is a cleanup scope, because a cleanup scope ends with
a `cleanupret` whose successor is an EH pad, so the search encounters
that EH pad first before going into the child scope. But this can happen
when the child scope is a catch scope that ends with `catchret`. So this
patch, when doing backward BFS, does not search predecessors that ends
with `catchret`. Because `catchret`s are replaced with `br`s during this
pass, this records BBs that have `catchret`s in the beginning, before
doing any other transformations.

Reviewers: dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80571

4 years ago[WebAssembly] Fix a bug in removing unnecessary branches
Heejin Ahn [Mon, 25 May 2020 08:34:43 +0000 (01:34 -0700)]
[WebAssembly] Fix a bug in removing unnecessary branches

Summary:
One of the things `removeUnnecessaryInstrs()` in CFGStackify does is to
remove an unnecessary unconditinal branch before an EH pad. When there
is an unconditional branch right before a catch instruction and it
branches to the end of `end_try` marker, we don't need the branch,
because it there is no exception, the control flow transfers to
that point anyway.
```
bb0:
  try
    ...
    br bb2      <- Not necessary
bb1:
  catch
    ...
bb2:
  end
```

This applies when we have a conditional branch followed by an
unconditional one, in which case we should only remove the unconditional
branch. For example:
```
bb0:
  try
    ...
    br_if someplace_else
    br bb2                 <- Not necessary
bb1:
  catch
    ...
bb2:
  end
```

But `TargetInstrInfo::removeBranch` we used removed all existing
branches when there are multiple ones. This patch fixes it by only
deleting the last (= unconditional) branch manually.

Also fixes some `preds` comments in the test file.

Reviewers: dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80572

4 years ago[llvm-xray][test] Fix unsupported-elf32.txt after D80185
Fangrui Song [Fri, 29 May 2020 02:16:29 +0000 (19:16 -0700)]
[llvm-xray][test] Fix unsupported-elf32.txt after D80185

4 years ago[LoopUnroll] Support loops with exiting block that is neither header nor
Whitney Tsang [Fri, 29 May 2020 01:11:50 +0000 (01:11 +0000)]
[LoopUnroll] Support loops with exiting block that is neither header nor
latch.

Summary: Remove the limitation in LoopUnrollPass that exiting block must
be either header or latch.
Reviewer: dmgreen, jdoerfert, Meinersbur, kbarton, bmahjour, etiotto,
fhahn, efriedma
Reviewed By: etiotto, fhahn, efriedma
Subscribers: efriedma, lkail, xbolva00, hiraditya, zzheng, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80477

4 years ago[AMDGPU] DWARF Proposal For Heterogeneous Debugging
Tony [Wed, 27 May 2020 03:44:10 +0000 (23:44 -0400)]
[AMDGPU] DWARF Proposal For Heterogeneous Debugging

- Add introduction to DWARF Proposal For Heterogeneous Debugging.

Differential Revision: https://reviews.llvm.org/D70523

4 years ago[NFC][SLP] Add test case exposing SLP cost model bug.
Valery N Dmitriev [Thu, 28 May 2020 15:54:04 +0000 (08:54 -0700)]
[NFC][SLP] Add test case exposing SLP cost model bug.
The bug is related to aggregate build cost model adjustment
that adds a bias to cost triggering vectorization of actually
unprofitable to vectorize tree.

Differential Revision: https://reviews.llvm.org/D80682

4 years agoGlobalISel: Work on improving stock set of legality predicates
Matt Arsenault [Sat, 23 May 2020 22:28:12 +0000 (18:28 -0400)]
GlobalISel: Work on improving stock set of legality predicates

I get confused by a lot of the predicate names here, since I would
assume they apply to vectors as well. Rename to reflect they only
apply to scalars.

Also add a few predicates AMDGPU uses that should be generally useful.
Also add any() to complement all. I've wanted to use this a few times
but then worked around it not being there.

4 years ago[X86] Fix a nullptr dereference in X86Subtarget::classifyLocalReference when compilin...
Craig Topper [Fri, 29 May 2020 00:00:56 +0000 (17:00 -0700)]
[X86] Fix a nullptr dereference in X86Subtarget::classifyLocalReference when compiling with -mcmodel=medium -fpic and using a constant pool

LowerConstantPool passes a nullptr into classifyLocalReference. The medium code model handling for PIC will try to deference it using isa. This patch switches to isa_and_nonnull.

Differential Revision: https://reviews.llvm.org/D80763

4 years agoRun Coverage pass before other *San passes under new pass manager, round 2
Arthur Eubanks [Thu, 28 May 2020 06:12:36 +0000 (23:12 -0700)]
Run Coverage pass before other *San passes under new pass manager, round 2

Summary:
This was attempted once before in https://reviews.llvm.org/D79698, but
was reverted due to the coverage pass running in the wrong part of the
pipeline. This commit puts it in the same place as the other sanitizers.

This changes PassBuilder.OptimizerLastEPCallbacks to work on a
ModulePassManager instead of a FunctionPassManager. That is because
SanitizerCoverage cannot (easily) be split into a module pass and a
function pass like some of the other sanitizers since in its current
implementation it conditionally inserts module constructors based on
whether or not it successfully modified functions.

This fixes compiler-rt/test/msan/coverage-levels.cpp under the new pass
manager (last check-msan test).

Currently sanitizers + LTO don't work together under the new pass
manager, so I removed tests that checked that this combination works for
sancov.

Subscribers: hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D80692

4 years ago[lld][WebAssembly] Convert some lld tests to assembly
Sam Clegg [Thu, 21 May 2020 04:35:18 +0000 (21:35 -0700)]
[lld][WebAssembly] Convert some lld tests to assembly

When we originally wrote these tests we didn't have a stable and
fleshed out assembly format.  Now we do so we should prefer that
over llvm ir for lld tests to avoid including more part of llvm
than necessary in order to run the test.

This change converts just 30 out of about 130 test files. More to
come when I have some more time.

Differential Revision: https://reviews.llvm.org/D80361

4 years ago[lldb/CMake] Set both the BUILD and INSTALL RPATH on macOS
Jonas Devlieghere [Thu, 28 May 2020 23:03:57 +0000 (16:03 -0700)]
[lldb/CMake] Set both the BUILD and INSTALL RPATH on macOS

This is necessary when building the framework.

4 years agoTest update for a7fa35a629e85a72b8cf07a8f95c7c09d9663808
Vitaly Buka [Thu, 28 May 2020 22:47:35 +0000 (15:47 -0700)]
Test update for a7fa35a629e85a72b8cf07a8f95c7c09d9663808

4 years agoDisable `duplicate_os_log_reports.cpp` test.
Dan Liew [Thu, 28 May 2020 22:57:44 +0000 (15:57 -0700)]
Disable `duplicate_os_log_reports.cpp` test.

It's not passing on macOS green dragon bots. To get them green just
disable for now.

rdar://problem/62141527

4 years ago[X86] Add test case to show fast-isel incorrectly emitting a 64-bit movabsq instructi...
Craig Topper [Thu, 28 May 2020 22:40:06 +0000 (15:40 -0700)]
[X86] Add test case to show fast-isel incorrectly emitting a 64-bit movabsq instruction in 32-bit mode when using constant pools with -code-model=large. NFC

-code-model=large isn't supposed to mean anything to 32-bit mode.
But nothing prevents passing it so we shouldn't generate bad code
if someone does.

4 years ago[xray] Add llvm-xray extract support for 32 bit ARM
Ian Levesque [Tue, 19 May 2020 05:38:14 +0000 (01:38 -0400)]
[xray] Add llvm-xray extract support for 32 bit ARM

Summary:
XRay works on 32-bit ARM but extract didn't support it.

See also another previous attempt in D77858.

Reviewers: MaskRay, dberris, johnislarry

Subscribers: kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80185

4 years agoclang-format xray InstrumentationMap.cpp
Ian Levesque [Thu, 28 May 2020 22:25:49 +0000 (18:25 -0400)]
clang-format xray InstrumentationMap.cpp

4 years ago[NFC,StackSafety] Add test flag
Vitaly Buka [Thu, 28 May 2020 22:36:17 +0000 (15:36 -0700)]
[NFC,StackSafety] Add test flag

4 years agoFix handling of default arguments in __attribute__((enable_if)).
Richard Smith [Thu, 28 May 2020 22:02:18 +0000 (15:02 -0700)]
Fix handling of default arguments in __attribute__((enable_if)).

We didn't properly build default argument expressions previously -- we
failed to build the wrapper CXXDefaultArgExpr node, which meant that
std::source_location misbehaved, and we didn't perform default argument
instantiation when necessary, which meant that dependent default
arguments in function templates didn't work at all.

4 years ago[mlir] Add test to check if standalone dialect is registered
Marius Brehler [Thu, 28 May 2020 22:31:28 +0000 (00:31 +0200)]
[mlir] Add test to check if standalone dialect is registered

Summary: Add a test to check if the standalone dialect is registered within standalone-opt. Similar to the mlir-opt commandline.mlir test.

Reviewers: Kayjukh, stephenneuendorffer

Reviewed By: Kayjukh

Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, frgossen, jurahul, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80764

4 years agounsigned -> Register for readability.
Eric Christopher [Thu, 28 May 2020 21:54:49 +0000 (14:54 -0700)]
unsigned -> Register for readability.

4 years ago[Tests] Update a few more statepoint tests
Philip Reames [Thu, 28 May 2020 22:16:36 +0000 (15:16 -0700)]
[Tests] Update a few more statepoint tests

Starting to work through the hard ones now, progress likely to slow drammatically.

4 years ago[X86] Fix a comment reference to registers R8L..R15L to use R8B..R15B like everywhere...
Craig Topper [Thu, 28 May 2020 22:10:29 +0000 (15:10 -0700)]
[X86] Fix a comment reference to registers R8L..R15L to use R8B..R15B like everywhere else. NFC

A new Intel SDM was released today that also fixes this issue in
some documentation.

4 years ago[libc][NFC][Obvious] Fix few header guards in src/threads.
Siva Chandra Reddy [Thu, 28 May 2020 21:57:36 +0000 (14:57 -0700)]
[libc][NFC][Obvious] Fix few header guards in src/threads.

4 years ago[mlir][Vector] Fix vector.transfer alignment calculation
Nicolas Vasilache [Thu, 28 May 2020 21:55:21 +0000 (17:55 -0400)]
[mlir][Vector] Fix vector.transfer alignment calculation

https://reviews.llvm.org/D79246 introduces alignment propagation for vector transfer operations. Unfortunately, the alignment calculation is incorrect and can result in crashes.

This revision fixes the calculation by using the natural alignment of the memref elemental type, instead of the resulting vector type.

If more alignment is desired, it can be done in 2 ways:
1. use a proper vector.type_cast to transform a memref<axbxcxdxf32> into a memref<axbxvector<cxdxf32>> giving a natural alignment of vector<cxdxf32>
2. add an alignment attribute to vector transfer operations and propagate it.

With this change the alignment in the relevant tests goes down from 128 to 4.

Lastly, a few minor cleanups are performed and the custom `isMinorIdentityMap` is deprecated.

Differential Revision: https://reviews.llvm.org/D80734

4 years ago[libc][NFC][Obvious] Remove line break from a CMake message.
Siva Chandra Reddy [Thu, 28 May 2020 21:52:39 +0000 (14:52 -0700)]
[libc][NFC][Obvious] Remove line break from a CMake message.

The line break was giving an impression of something going wrong.

4 years ago[SVE] Eliminate calls to default-false VectorType::get() from mlir
Christopher Tetreault [Thu, 28 May 2020 21:24:13 +0000 (14:24 -0700)]
[SVE] Eliminate calls to default-false VectorType::get() from mlir

Reviewers: efriedma, ftynse, c-rhodes, david-arm, rriddle

Reviewed By: ftynse

Subscribers: tschuett, rkruppe, psnobl, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80340

4 years agoRevert "Run Coverage pass before other *San passes under new pass manager, round 2"
Arthur Eubanks [Thu, 28 May 2020 21:38:05 +0000 (14:38 -0700)]
Revert "Run Coverage pass before other *San passes under new pass manager, round 2"

This reverts commit 922fa2fce38b0bd97921b91ff1cdc57f18d3569c.

4 years ago[Tests] Remove deopt operands from SafepointIRVerfier tests
Philip Reames [Thu, 28 May 2020 21:34:47 +0000 (14:34 -0700)]
[Tests] Remove deopt operands from SafepointIRVerfier tests

This linter has nothing to do with deopt, and the operands had clearly been copied blindly from another source.  Rather than migrate to deopt operand bundle, let's just simplify the tests.

4 years ago[Tests] Switch a few statepoint tests to using operand bundles
Philip Reames [Thu, 28 May 2020 21:17:00 +0000 (14:17 -0700)]
[Tests] Switch a few statepoint tests to using operand bundles

We've started (D80598) the process of migrating away from the inline operand lists in statepoints to using explicit operand bundles.  Update a few tests to reflect the new preference.  More to come, these were simply the ones outside any obvious grouping.

4 years ago[scudo] Fix deadlock in ScudoWrappersCTest.DisableForkEnable test.
Evgenii Stepanov [Thu, 28 May 2020 21:30:19 +0000 (14:30 -0700)]
[scudo] Fix deadlock in ScudoWrappersCTest.DisableForkEnable test.

pthread_cond_wait needs a loop around it to handle spurious wake ups,
as well as the case when signal runs before wait.

4 years ago[NFC,StackSafety] clang-tidy warning fixes
Vitaly Buka [Thu, 28 May 2020 21:25:44 +0000 (14:25 -0700)]
[NFC,StackSafety] clang-tidy warning fixes

4 years agoRun Coverage pass before other *San passes under new pass manager, round 2
Arthur Eubanks [Thu, 28 May 2020 06:12:36 +0000 (23:12 -0700)]
Run Coverage pass before other *San passes under new pass manager, round 2

Summary:
This was attempted once before in https://reviews.llvm.org/D79698, but
was reverted due to the coverage pass running in the wrong part of the
pipeline. This commit puts it in the same place as the other sanitizers.

This changes PassBuilder.OptimizerLastEPCallbacks to work on a
ModulePassManager instead of a FunctionPassManager. That is because
SanitizerCoverage cannot (easily) be split into a module pass and a
function pass like some of the other sanitizers since in its current
implementation it conditionally inserts module constructors based on
whether or not it successfully modified functions.

This fixes compiler-rt/test/msan/coverage-levels.cpp under the new pass
manager (last check-msan test).

Subscribers: hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D80692

4 years ago[SVE] Eliminate calls to default-false VectorType::get() from Analysis
Christopher Tetreault [Thu, 28 May 2020 21:13:05 +0000 (14:13 -0700)]
[SVE] Eliminate calls to default-false VectorType::get() from Analysis

Reviewers: efriedma, fpetrogalli, kmclaughlin, sunfish

Reviewed By: fpetrogalli

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80324

4 years ago[mlir] Extend standalone example by standalone-translate
Marius Brehler [Thu, 28 May 2020 19:34:44 +0000 (12:34 -0700)]
[mlir] Extend standalone example by standalone-translate

Extend the standalone by standalone-translate, based on mlir-translate.

Differential Revision: https://reviews.llvm.org/D80737

4 years ago[MLIR] Fix build when NVPTX is not enabled
Stephen Neuendorffer [Thu, 28 May 2020 20:50:32 +0000 (13:50 -0700)]
[MLIR] Fix build when NVPTX is not enabled

In this case, neither target is selected, but there is still a dependence
on the MC library (through the TargetOptions.h include)

4 years ago[ARM] More tests for MVE LSR and float issues. NFC
David Green [Thu, 28 May 2020 16:49:01 +0000 (17:49 +0100)]
[ARM] More tests for MVE LSR and float issues. NFC

4 years ago[LiveDebugValues] Add cutoffs to avoid pathological behavior
Vedant Kumar [Wed, 27 May 2020 20:22:10 +0000 (13:22 -0700)]
[LiveDebugValues] Add cutoffs to avoid pathological behavior

Summary:
We received a report of LiveDebugValues consuming 25GB+ of RAM when
compiling code generated by Unity's IL2CPP scripting backend.

There's an initial 5GB spike due to repeatedly copying cached lists of
MachineBasicBlocks within the UserValueScopes members of VarLocs.

But the larger scaling issue arises due to the fact that prior to range
extension, there are 81K basic blocks and 156K DBG_VALUEs: given enough
memory, LiveDebugValues would insert 101 million MIs (I counted this by
incrementing a counter inside of VarLoc::BuildDbgValue).

It seems like LiveDebugValues would have to be rearchitected to support
this kind of input (we'd need some new represntation for DBG_VALUEs that
get inserted into ~every block via flushPendingLocs). OTOH, large globs
of auto-generated code are typically not debugged interactively.

So: add cutoffs to disable range extension when the input is too big. I
chose the cutoffs experimentally, erring on the conservative side. When
compiling a large collection of Apple software, range extension never
got disabled.

rdar://63418929

Reviewers: aprantl, friss, jmorse, Orlando

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80662

4 years ago[MachineVerifier] Verify that a DBG_VALUE has a debug location
Vedant Kumar [Wed, 27 May 2020 22:44:10 +0000 (15:44 -0700)]
[MachineVerifier] Verify that a DBG_VALUE has a debug location

Summary:
Verify that each DBG_VALUE has a debug location. This is required by
LiveDebugValues, and perhaps by other late passes.

There's an exception for tests: lots of tests use a two-operand form of
DBG_VALUE for convenience. There's no reason to prevent that.

This is an extension of D80665, but there's no dependency.

Reviewers: aprantl, jmorse, davide, chrisjackson

Subscribers: hiraditya, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80670

4 years ago[MachineLICM] Assert that locations from debug insts are not lost
Vedant Kumar [Wed, 27 May 2020 20:13:13 +0000 (13:13 -0700)]
[MachineLICM] Assert that locations from debug insts are not lost

Summary:
Assert that MachineLICM does not move a debug instruction and then drop
its debug location. Later passes require each debug instruction to have
a location.

Testing: check-llvm, clang stage2 RelWithDebInfo build (x86_64)

Reviewers: aprantl, davide, chrisjackson, jmorse

Subscribers: hiraditya, asbirlea, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80665

4 years ago[Statepoints] Sink routines for grabbing projections to GCStatepointInst [NFC]
Philip Reames [Thu, 28 May 2020 20:49:41 +0000 (13:49 -0700)]
[Statepoints] Sink routines for grabbing projections to GCStatepointInst [NFC]

Mechanical movement, nothing more.

4 years ago[Statepoint] Sink actual_args and gc_args to GCStatepointInst [NFC]
Philip Reames [Thu, 28 May 2020 20:34:12 +0000 (13:34 -0700)]
[Statepoint] Sink actual_args and gc_args to GCStatepointInst [NFC]

These are the two operand sets which are expected to survive more than another week or so.  Instead of bothering to update the deopt and gc-transition operands, we'll just wait until those are removed and delete the code.

For those following along, this is likely to be the last (major) change in this sequence for about a week.  I want to wait until all of this has been merged downstream to ensure I haven't introduced any bugs (and migrate some downstream code to the new interfaces).  Once that's done, we should be able to delete Statepoint/ImmutableStatepoint without too much work.

4 years ago[Statepoint] Use iterate_range.empty [NFC]
Philip Reames [Thu, 28 May 2020 19:31:49 +0000 (12:31 -0700)]
[Statepoint] Use iterate_range.empty [NFC]

4 years ago[Clang] Enable KF and KC mode for [_Complex] __float128
Nemanja Ivanovic [Thu, 28 May 2020 20:48:05 +0000 (15:48 -0500)]
[Clang] Enable KF and KC mode for [_Complex] __float128

The headers provided with recent GNU toolchains for PPC have code that includes
typedefs such as:

typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)))

This patch allows clang to compile programs that contain
#include <math.h>

with -mfloat128 which it currently fails to compile.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=46068

Differential revision: https://reviews.llvm.org/D80374

4 years ago[lldb-vscode] Make it possible to run vsce package
Greg Clayton [Thu, 28 May 2020 20:29:48 +0000 (13:29 -0700)]
[lldb-vscode] Make it possible to run vsce package

Summary:
Running `vsce package` to package lldb-vscode as an installable .vsix file errors with:

```
ERROR  Invalid publisher name 'llvm.org'. Expected the identifier of a publisher, not its human-friendly name.
```

This patch fixes the publisher name and bumps a required dependency so that `vsce package` succeeds.

Reviewers: clayborg

Reviewed By: clayborg

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D80569

4 years ago[StackSafety] Lazy calculations
Vitaly Buka [Thu, 28 May 2020 08:07:31 +0000 (01:07 -0700)]
[StackSafety] Lazy calculations

We are going to convert this into pure analysis, so
processing will be delayed up to the first safety request.

4 years ago[NFC,StackSafety] Move internal offset calculation
Vitaly Buka [Thu, 28 May 2020 20:01:02 +0000 (13:01 -0700)]
[NFC,StackSafety] Move internal offset calculation

4 years ago[StackSafety] Don't run datafow on allocas
Vitaly Buka [Thu, 28 May 2020 05:21:39 +0000 (22:21 -0700)]
[StackSafety] Don't run datafow on allocas

We need to process only parameters. Allocas access can be calculated
afterwards.
Also don't create fake function for aliases and just resolve them on
initialization.

4 years ago[StackSafety] Remove SetMetadata parameter
Vitaly Buka [Thu, 28 May 2020 03:35:06 +0000 (20:35 -0700)]
[StackSafety] Remove SetMetadata parameter

4 years ago[Docs] Correct description of lldbinit behavior
Jonas Devlieghere [Thu, 28 May 2020 20:06:44 +0000 (13:06 -0700)]
[Docs] Correct description of lldbinit behavior

Jim pointed out that "every time somebody has touched the documentation
on startup files they have stated that we source the application one and
then the global one, even though in actual fact we’ve never done that."

Indeed, when we read the application specific .lldbinit file, the global
one is not read. This patch updates the man page to reflect that.

4 years agoadd isAtPosition narrowing matcher for parmVarDecl
Vy Nguyen [Thu, 28 May 2020 04:33:13 +0000 (00:33 -0400)]
add isAtPosition narrowing matcher for parmVarDecl

Differential Revision: https://reviews.llvm.org/D80603

4 years agoImprove test infrastructure in SyntaxTree
Eduardo Caldas [Thu, 28 May 2020 16:28:36 +0000 (18:28 +0200)]
Improve test infrastructure in SyntaxTree

Summary:
* Test if the code sourcing the SyntaxTree compiles
* Output compiler errors and warnings to err
* Fix tests with code that did not compile

Reviewers: gribozavr2

Reviewed By: gribozavr2

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80731

4 years agoAdd tests for preallocated + musttail
Arthur Eubanks [Thu, 28 May 2020 17:27:52 +0000 (10:27 -0700)]
Add tests for preallocated + musttail

Summary:
Follow-up to https://reviews.llvm.org/D80581.
Turns out the codegen part already worked, so only needed to add tests.
I manually verified that in these tests the generated code for inalloca
and preallocated were identical.

Reviewers: efriedma, hans

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80742

4 years ago[llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose
aartbik [Thu, 28 May 2020 18:04:02 +0000 (11:04 -0700)]
[llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose

Summary:
Only column-major was supported so far. This adds row-major support as well.
Note that we probably also want very efficient SIMD implementations for the
various target platforms.

Bug:
https://bugs.llvm.org/show_bug.cgi?id=46085

Reviewers: nicolasvasilache, reidtatge, bkramer, fhahn, ftynse, andydavis1, craig.topper, dcaballe, mehdi_amini, anemet

Reviewed By: fhahn

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80673

4 years agoRevert "[LoopUnroll] Support loops with exiting block that is neither header nor"
Whitney Tsang [Thu, 28 May 2020 19:08:07 +0000 (19:08 +0000)]
Revert "[LoopUnroll] Support loops with exiting block that is neither header nor"

This reverts commit 281058226587d8c70172ff0fb1e55d58876da229.

Revert until
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-debian/builds/7334
is resolved.

4 years ago[AArch64] Add native CPU detection for Neoverse N1
Sjoerd Meijer [Thu, 28 May 2020 18:49:12 +0000 (19:49 +0100)]
[AArch64] Add native CPU detection for Neoverse N1

Map the CPU ID value 0xd0c to "neoverse-n1".

Patch by James Greenhalgh.

Differential Revision: https://reviews.llvm.org/D80736

4 years agoAMDGPU/GlobalISel: precommit extractelement test. NFC.
Stanislav Mekhanoshin [Thu, 28 May 2020 18:36:36 +0000 (11:36 -0700)]
AMDGPU/GlobalISel: precommit extractelement test. NFC.

4 years ago[Statepoint] Convert a few more isStatepoint calls to idiomatic isa/cast
Philip Reames [Thu, 28 May 2020 18:28:58 +0000 (11:28 -0700)]
[Statepoint] Convert a few more isStatepoint calls to idiomatic isa/cast

I'd apparently only grepped in the lib directories and missed a few used in the Statepoint header itself.  Beyond simple mechanical cleanup, changed the type of one routine to reflect the fact it also returns a statepoint.

4 years agoAMDGPU: Handle rewriting ptrmask for more address spaces
Matt Arsenault [Mon, 18 May 2020 15:32:46 +0000 (11:32 -0400)]
AMDGPU: Handle rewriting ptrmask for more address spaces

If this mask only clears bits in the low 32-bit half of a flat
pointer, these bits are always preserved in the result address
space. If the high bits are modified, they may need to be preserved
for some kind of user pointer tagging.

4 years ago[libc++] NFC: Remove outdated numbering in <bit> synopsis
Louis Dionne [Thu, 28 May 2020 18:28:09 +0000 (14:28 -0400)]
[libc++] NFC: Remove outdated numbering in <bit> synopsis

4 years ago[LoopUnroll] Support loops with exiting block that is neither header nor
Whitney Tsang [Thu, 28 May 2020 18:23:56 +0000 (18:23 +0000)]
[LoopUnroll] Support loops with exiting block that is neither header nor
latch.

Summary: Remove the limitation in LoopUnrollPass that exiting block must
be either header or latch.
Reviewer: dmgreen, jdoerfert, Meinersbur, kbarton, bmahjour, etiotto,
fhahn, efriedma
Reviewed By: etiotto, fhahn, efriedma
Subscribers: efriedma, lkail, xbolva00, hiraditya, zzheng, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80477

4 years agoAMDGPU: Add intrinsic for s_setreg
Matt Arsenault [Wed, 6 May 2020 20:43:33 +0000 (16:43 -0400)]
AMDGPU: Add intrinsic for s_setreg

This will be more useful with fenv access implemented.

4 years ago[libc] Fixing the build command for benchmarks.
Anthony Steinhauser [Thu, 28 May 2020 18:19:20 +0000 (11:19 -0700)]
[libc] Fixing the build command for benchmarks.

Building libc without clang fails with:
CMake Error at /home/asteinhauser/llvm-project/libc/CMakeLists.txt:49 (message):
'clang' and 'clang-tools-extra' are required in LLVM_ENABLE_PROJECTS to
lint llvm-libc. The linting step performs important checks to help prevent
the introduction of subtle bugs, but it may increase build times.

Reviewers: sivachandra

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D80495

4 years ago[clang] Avoid linking libdl unless needed
Tobias Hieta [Thu, 28 May 2020 18:04:38 +0000 (21:04 +0300)]
[clang] Avoid linking libdl unless needed

Differential Revision: https://reviews.llvm.org/D80492

4 years ago[mlir][Linalg] Add pass to remove unit-extent dims from tensor
MaheshRavishankar [Thu, 28 May 2020 17:19:47 +0000 (10:19 -0700)]
[mlir][Linalg] Add pass to remove unit-extent dims from tensor
operands of Generic ops.

Unit-extent dimensions are typically used for achieving broadcasting
behavior. The pattern added (along with canonicalization patterns
added previously) removes the use of unit-extent dimensions, and
instead uses a more canonical representation of the computation.  This
new pattern is not added as a canonicalization for now since it
entails adding additional reshape operations. A pass is added to
exercise these patterns, along with an API entry to populate a
patterns list with these patterns.

Differential Revision: https://reviews.llvm.org/D79766

4 years ago[mlir][GPU] Link relevant LLVM components in GPUCommon instead of test
Alex Zinenko [Thu, 28 May 2020 16:57:39 +0000 (18:57 +0200)]
[mlir][GPU] Link relevant LLVM components in GPUCommon instead of test

D80142 restructured MLIR-to-GPU-binary conversion to support multiple
targets. It also modified cmake files to link relevant LLVM components
in test/lib, which broke shared-library builds, and likely made the
conversions unusable outside mlir-opt (or other tools that link in test
library targets). Link these components to GPUCommon instead.

Differential Revision: https://reviews.llvm.org/D80739

4 years ago[Statepoint] Sink logic about actual callee into GCStatepointInst
Philip Reames [Thu, 28 May 2020 17:45:07 +0000 (10:45 -0700)]
[Statepoint] Sink logic about actual callee into GCStatepointInst

Sinking logic around actual callee from Statepoint to GCStatepointInst.  While doing so, adjust naming to be consistent about refering to "actual" callee and follow precedent on naming from CallBase otherwise.

Use the result to simplify one consumer.  This is mostly just to ensure the new code is exercised, but is also a helpful cleanup on it's own.

4 years ago[lldb/Reproducers] Add top-level-target check-lldb-reproducers
Jonas Devlieghere [Thu, 28 May 2020 17:39:45 +0000 (10:39 -0700)]
[lldb/Reproducers] Add top-level-target check-lldb-reproducers

This adds a new target `check-lldb-reproducers` that replaces the old
`check-lldb-repro`. The latter would only run the shell tests, while
`check-lldb-reproducers` includes the API tests as well. The new target
will be used on GreenDragon.

It's still possible to run just the shell tests with reproducers,
although now that requires crafting the lit invocation yourself. The
parameters haven't changed and are the shame for the API and shell
tests:

  --param lldb-run-with-repro=capture
  --param lldb-run-with-repro=replay

This patch also updates the reproducer documentation.

4 years ago[analyzer] SATestBuild.py: Make verbosity level a cmd option
Valeriy Savchenko [Wed, 27 May 2020 13:06:45 +0000 (16:06 +0300)]
[analyzer] SATestBuild.py: Make verbosity level a cmd option

Reviewers: NoQ, dcoughlin

Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, ASDenysPetrov, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80626

4 years ago[clang-tidy] Fix build broken by commit 7cfdff7b4a6704b8ef2a1b594e1ec19d2d89f385...
Yitzhak Mandelbaum [Thu, 28 May 2020 17:36:45 +0000 (13:36 -0400)]
[clang-tidy] Fix build broken by commit 7cfdff7b4a6704b8ef2a1b594e1ec19d2d89f385 (D80023)

4 years ago[IR] Avoid linear scan in MDNode::intersect() (NFC)
Nikita Popov [Thu, 28 May 2020 15:15:21 +0000 (17:15 +0200)]
[IR] Avoid linear scan in MDNode::intersect() (NFC)

00940fb8544767ba5217922c4ba96677aabe9eb3 changed this code to
construct a set for the B metadata. However, it still performs a
linear is_contained query, rather than making use of the set
structure.

4 years ago[ThinLTO] Compute the basic block count across modules.
Hiroshi Yamauchi [Thu, 21 May 2020 20:28:24 +0000 (13:28 -0700)]
[ThinLTO] Compute the basic block count across modules.

Summary:
Count the per-module number of basic blocks when the module summary is computed
and sum them up during Thin LTO indexing.

This is used to estimate the working set size under the partial sample PGO.

This is split off of D79831.

Reviewers: davidxl, espindola

Subscribers: emaste, inglorion, hiraditya, MaskRay, steven_wu, dexonsmith, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80403

4 years ago[analyzer] Remove unused function declaration. NFC.
Valeriy Savchenko [Thu, 28 May 2020 17:28:17 +0000 (20:28 +0300)]
[analyzer] Remove unused function declaration. NFC.

4 years ago[analyzer] Remove unused function. NFC.
Valeriy Savchenko [Thu, 28 May 2020 17:22:18 +0000 (20:22 +0300)]
[analyzer] Remove unused function. NFC.

4 years agoDefault to generating statepoints with deopt and gc-transition bundles if needed
Philip Reames [Thu, 28 May 2020 17:11:08 +0000 (10:11 -0700)]
Default to generating statepoints with deopt and gc-transition bundles if needed

Continues from D80598.

The key point of the change is to default to using operand bundles instead of the inline length prefix argument lists for statepoint nodes. An important subtlety to note is that the presence of a bundle has semantic meaning, even if it is empty. As such, we need to make a somewhat deeper change to the interface than is first obvious.

Existing code treats statepoint deopt arguments and the deopt bundle operands differently during inlining. The former is ignored (resulting in caller state being dropped), the later is merged.

We can't preserve the old behaviour for calls with deopt fed to RS4GC and then inlining, but we can avoid the no-deopt case changing. At least in internal testing, that seem to be the important one. (I'd argue the "stop merging after RS4GC" behaviour for the former was always "unexpected", but that the behaviour for non-deopt calls actually make sense.)

Differential Revision: https://reviews.llvm.org/D80674

4 years ago[PGO] Guard the memcmp/bcmp size value profiling instrumentation behind flag.
Hiroshi Yamauchi [Wed, 27 May 2020 17:13:33 +0000 (10:13 -0700)]
[PGO] Guard the memcmp/bcmp size value profiling instrumentation behind flag.

Summary:
Follow up D79751 and put the instrumentation / value collection side (in
addition to the optimization side) behind the flag as well.

Reviewers: davidxl

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80646

4 years ago[X86] Add 'avx512vp2intersect' to getHostCPUFeatures.
Craig Topper [Thu, 28 May 2020 15:28:12 +0000 (08:28 -0700)]
[X86] Add 'avx512vp2intersect' to getHostCPUFeatures.

4 years agoFix the crashlog.py script's use of the load_address property.
Jim Ingham [Thu, 28 May 2020 00:26:32 +0000 (17:26 -0700)]
Fix the crashlog.py script's use of the load_address property.

This property is explicitly for use only in the interactive editor,
and NOT in commands.  It's use worked until we got more careful about
not leaving lldb.target lying around in the script interpreter.

I also added a quick sniff test for the save_crashlog command.

<rdar://problem/60350620>
Differential Revision: https://reviews.llvm.org/D80680

4 years ago[gn build] Port 7cfdff7b4a6
LLVM GN Syncbot [Thu, 28 May 2020 16:49:43 +0000 (16:49 +0000)]
[gn build] Port 7cfdff7b4a6

4 years ago[SDAG] Don't require LazyBlockFrequencyInfo at optnone
Nikita Popov [Thu, 21 May 2020 14:48:05 +0000 (16:48 +0200)]
[SDAG] Don't require LazyBlockFrequencyInfo at optnone

While LazyBlockFrequencyInfo itself is lazy, the dominator tree
and loop info analyses it requires are not. Drop the dependency
on this pass in SelectionDAGIsel at O0.
This makes for a ~0.6% O0 compile-time improvement.

Differential Revision: https://reviews.llvm.org/D80387

4 years agoCreate utility function to Merge Adjacent Basic Blocks
Sidharth Baveja [Thu, 28 May 2020 16:12:45 +0000 (16:12 +0000)]
Create utility function to Merge Adjacent Basic Blocks

Summary: The following code from
/llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp can be used by other
transformations:

while (!MergeBlocks.empty()) {
    BasicBlock *BB = *MergeBlocks.begin();
    BranchInst *Term = dyn_cast<BranchInst>(BB->getTerminator());
    if (Term && Term->isUnconditional() &&
L->contains(Term->getSuccessor(0))) {
      BasicBlock *Dest = Term->getSuccessor(0);
      BasicBlock *Fold = Dest->getUniquePredecessor();
      if (MergeBlockIntoPredecessor(Dest, &DTU, LI)) {
        // Don't remove BB and add Fold as they are the same BB
        assert(Fold == BB);
        (void)Fold;
        MergeBlocks.erase(Dest);
      } else
        MergeBlocks.erase(BB);
    } else
      MergeBlocks.erase(BB);
  }
Hence it should be separated into its own utility function.

Authored By: sidbav
Reviewer: Whitney, Meinersbur, asbirlea, dmgreen, etiotto
Reviewed By: asbirlea
Subscribers: hiraditya, zzheng, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80583

4 years ago[llvm-exegesis] Make a few counter methods virtual to allow targets to provide target...
Vy Nguyen [Wed, 27 May 2020 22:06:40 +0000 (18:06 -0400)]
[llvm-exegesis] Make a few counter methods virtual to allow targets to provide target-specific support.
Misc: Also include errno in failure message.

Differential Revision: https://reviews.llvm.org/D80610

4 years ago[clang-tidy] Add abseil-string-find-str-contains checker.
Tom Lokovic [Thu, 28 May 2020 16:22:30 +0000 (12:22 -0400)]
[clang-tidy] Add abseil-string-find-str-contains checker.

Summary: This adds a checker which suggests replacing string.find(...) == npos with absl::StrContains.

Reviewers: alexfh, hokein, aaron.ballman, njames93, ymandel

Reviewed By: ymandel

Subscribers: ymandel, Eugene.Zelenko, xazax.hun, mgorny, Charusso, phosek, cfe-commits

Tags: #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D80023

4 years agoMake VE.def a textual header
Adrian Prantl [Thu, 28 May 2020 16:35:06 +0000 (09:35 -0700)]
Make VE.def a textual header