platform/upstream/llvm.git
4 years ago[clang][AST] Add an AST matcher for deducedTemplateSpeializationType.
Haojian Wu [Mon, 3 Feb 2020 11:10:56 +0000 (12:10 +0100)]
[clang][AST] Add an AST matcher for deducedTemplateSpeializationType.

Summary:
misc-unused-using clang-tidy check needs this matcher to fix a false
positive of C++17 deduced class template types.

Reviewers: gribozavr2

Reviewed By: gribozavr2

Subscribers: cfe-commits

Tags: #clang

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

4 years agoFix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFCI.
Simon Pilgrim [Mon, 3 Feb 2020 11:08:48 +0000 (11:08 +0000)]
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFCI.

4 years agoReland "[llvm] Add a way to speed up the speed in which BumpPtrAllocator increases...
Raphael Isemann [Mon, 3 Feb 2020 10:13:51 +0000 (11:13 +0100)]
Reland "[llvm] Add a way to speed up the speed in which BumpPtrAllocator increases slab sizes""

Disable the red zone in the unit test allocator to fix the test errors in sanitizer builds.
The red zone changed the amount of allocated bytes which made the test fail as it
checked the number of allocated bytes of the allocator.

4 years ago[LLDB] Add missing declarations for linking to psapi
Martin Storsjö [Sat, 1 Feb 2020 20:45:28 +0000 (22:45 +0200)]
[LLDB] Add missing declarations for linking to psapi

This fixes building for mingw with BUILD_SHARED_LIBS. In static builds,
the psapi dependency gets linked in transitively from Support, but
when linking Support dynamically, it's revealed that these components
also need linking against psapi.

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

4 years ago[llvm-exegesis] Restrict the range of allowable rounding countrols.
Clement Courbet [Fri, 24 Jan 2020 11:51:39 +0000 (12:51 +0100)]
[llvm-exegesis] Restrict the range of allowable rounding countrols.

Summary:
It turns out that CUR_DIRECTION is just an internal placeholder, not an actual
valid encoded value.

Reviewers: gchatelet

Subscribers: tschuett, mstojanovic, llvm-commits

Tags: #llvm

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

4 years ago[MLIR][Linalg] Lower linalg.generic to ploops.
Alexander Belyaev [Fri, 31 Jan 2020 10:34:15 +0000 (11:34 +0100)]
[MLIR][Linalg] Lower linalg.generic to ploops.

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

4 years agoFixed a -Wunused-variable warning in no-assertion builds
Dmitri Gribenko [Mon, 3 Feb 2020 10:49:11 +0000 (11:49 +0100)]
Fixed a -Wunused-variable warning in no-assertion builds

4 years agoMake quick-append.test resilient to running in paths with '1.o' in the name
Hans Wennborg [Mon, 3 Feb 2020 10:34:36 +0000 (11:34 +0100)]
Make quick-append.test resilient to running in paths with '1.o' in the name

4 years ago[clangd] TUScheduler::run() (i.e. workspace/symbol) counts towards concurrent threads
Sam McCall [Mon, 3 Feb 2020 10:31:51 +0000 (11:31 +0100)]
[clangd] TUScheduler::run() (i.e. workspace/symbol) counts towards concurrent threads

This seems to just be an oversight.

4 years ago[clangd] Refactor TUScheduler options into a struct. NFC
Sam McCall [Mon, 3 Feb 2020 10:18:13 +0000 (11:18 +0100)]
[clangd] Refactor TUScheduler options into a struct. NFC

4 years agoRevert "[llvm] Add a way to speed up the speed in which BumpPtrAllocator increases...
Raphael Isemann [Mon, 3 Feb 2020 10:10:50 +0000 (11:10 +0100)]
Revert "[llvm] Add a way to speed up the speed in which BumpPtrAllocator increases slab sizes"

This reverts commit b848b510a8d52dbf50ee53a9a1ce844abb60d9bd as the unit tests
fail on the sanitizer bots:
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/unittests/Support/AllocatorTest.cpp:145: Failure
      Expected: SlabSize
      Which is: 4096
To be equal to: Alloc.getTotalMemory()
      Which is: 4097

4 years agoRevert "[lldb] Increase the rate at which ConstString's memory allocator scales the...
Raphael Isemann [Mon, 3 Feb 2020 10:09:36 +0000 (11:09 +0100)]
Revert "[lldb] Increase the rate at which ConstString's memory allocator scales the memory chunks it allocates"

This reverts commit 500c324fa13eec2b171f4ea4dbed2ac1251f5aae because its parent commit
b848b510a8d52dbf50ee53a9a1ce844abb60d9bd is failing on the sanitizer bots.

4 years agoRevert "[libcxx] Force-cache LIBCXX_CXX_ABI_LIBRARY_PATH"
Sergej Jaskiewicz [Fri, 31 Jan 2020 11:35:43 +0000 (14:35 +0300)]
Revert "[libcxx] Force-cache LIBCXX_CXX_ABI_LIBRARY_PATH"

This reverts commit 41f4dfd63ea0fe995ddfba1838aa5ed972cc1377.

It broke standalone libc++ builds, which now try to use libc++abi from the wrong directory, instead of system instance.

(cherry picked from commit 3573526c0286c9461f0459be1a4592b2214594e7)

4 years agoFix broken invariant
Guillaume Chatelet [Fri, 31 Jan 2020 17:30:38 +0000 (18:30 +0100)]
Fix broken invariant

Summary:
A Copy with a source that is zeros is the same as a Set of zeros.
This fixes the invariant that SrcAlign should always be non-null.

Reviewers: courbet

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

4 years ago[lldb] Increase the rate at which ConstString's memory allocator scales the memory...
Raphael Isemann [Mon, 3 Feb 2020 08:12:38 +0000 (09:12 +0100)]
[lldb] Increase the rate at which ConstString's memory allocator scales the memory chunks it allocates

Summary:
We currently do far more malloc calls than necessary in the ConstString BumpPtrAllocator. This is due to the 256 BumpPtrAllocators
our ConstString implementation uses internally which end up all just receiving a small share of the total allocated memory
and therefore keep allocating memory in small chunks for far too long. This patch fixes this by increasing the rate at which we increase the
memory chunk size so that our collection of BumpPtrAllocators behaves in total similar to a single BumpPtrAllocator.

Reviewers: llunak

Reviewed By: llunak

Subscribers: abidh, JDevlieghere, lldb-commits

Tags: #lldb

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

4 years ago[llvm-exegesis] Add pfm counters for Zen2 (znver2).
Clement Courbet [Tue, 31 Dec 2019 10:28:40 +0000 (11:28 +0100)]
[llvm-exegesis] Add pfm counters for Zen2 (znver2).

Summary: There are no counters for individual ports, but this is already
enough to find a lot of issues in the current model (upcoming patch).

Reviewers: dblaikie, gchatelet

Subscribers: hiraditya, tschuett, RKSimon, llvm-commits

Tags: #llvm

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

4 years ago[AMDGPU] Don't remove short branches over kills
Jay Foad [Fri, 31 Jan 2020 10:42:20 +0000 (10:42 +0000)]
[AMDGPU] Don't remove short branches over kills

Summary:
D68092 introduced a new SIRemoveShortExecBranches optimization pass and
broke some graphics shaders. The problem is that it was removing
branches over KILL pseudo instructions, and the fix is to explicitly
check for that in mustRetainExeczBranch.

Reviewers: critson, arsenm, nhaehnle, cdevadas, hakzsam

Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits

Tags: #llvm

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

4 years ago[MLIR] Make gpu.launch implicitly capture uses of values defined above.
Stephan Herhut [Fri, 31 Jan 2020 09:29:29 +0000 (10:29 +0100)]
[MLIR] Make gpu.launch implicitly capture uses of values defined above.

Summary:
In the original design, gpu.launch required explicit capture of uses
and passing them as operands to the gpu.launch operation. This was
motivated by infrastructure restrictions rather than design. This
change lifts the requirement and removes the concept of kernel
arguments from gpu.launch. Instead, the kernel outlining
transformation now does the explicit capturing.

This is a breaking change for users of gpu.launch.

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

4 years ago[JumpThreading] Half the duplicate threshold at Oz
Sam Parker [Mon, 3 Feb 2020 08:02:12 +0000 (08:02 +0000)]
[JumpThreading] Half the duplicate threshold at Oz

Duplicating instructions can lead to code size increases but using
a threshold of 3 is good for reducing code size.

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

4 years ago[mlir] NFC: Fix trivial typo in comment
Kazuaki Ishizaki [Sun, 26 Jan 2020 15:13:26 +0000 (00:13 +0900)]
[mlir] NFC: Fix trivial typo in comment

Summary: Also, an exercise to merge this into the master myself after a reviewer gives LGTM.

Reviewers: nicolasvasilache, mehdi_amini

Reviewed By: mehdi_amini

Subscribers: Joonsoo, merge_guards_bot, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits

Tags: #llvm

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

4 years ago[llvm] Add a way to speed up the speed in which BumpPtrAllocator increases slab sizes
Raphael Isemann [Mon, 3 Feb 2020 07:37:12 +0000 (08:37 +0100)]
[llvm] Add a way to speed up the speed in which BumpPtrAllocator increases slab sizes

Summary:
In D68549 we noticed that our BumpPtrAllocator we use for LLDB's ConstString implementation is growing its slabs at
a rate that is too slow for our use case. It causes that we spend a lot of time calling `malloc` for all the tiny slabs that our
ConstString BumpPtrAllocators create. We also can't just increase the slab size in the ConstString implementation
(which is what D68549 originally did) as this really increased the amount of (mostly unused) allocated memory
in any process using ConstString.

This patch adds a template argument for the BumpPtrAllocatorImpl that allows specifying a faster rate at which the
BumpPtrAllocator increases the slab size. This allows LLDB to specify a faster rate at which the slabs grow which
should keep both memory consumption and time spent calling malloc low.

Reviewers: george.karpenkov, chandlerc, NoQ

Subscribers: NoQ, llvm-commits, llunak

Tags: #llvm

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

4 years ago[PM][CGSCC] Add parentheses to avoid a GCC warning. NFC.
Martin Storsjö [Mon, 3 Feb 2020 07:47:46 +0000 (09:47 +0200)]
[PM][CGSCC] Add parentheses to avoid a GCC warning. NFC.

This avoids a warning about "suggest parentheses around && within ||".

4 years ago[libcxxabi] Fix layout of __cxa_exception for win64
Martin Storsjö [Sat, 1 Feb 2020 11:32:57 +0000 (13:32 +0200)]
[libcxxabi] Fix layout of __cxa_exception for win64

Win64 isn't LP64, it's LLP64, but there's no __LLP64__ predefined -
just check _WIN64 in addition to __LP64__.

This fixes compilation after static asserts about the struct layout
were added in f2a436058fcbc11291e73badb44e243f61046183.

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

4 years ago[OpenMP] Fix GCC warnings. NFC.
Martin Storsjö [Mon, 3 Feb 2020 07:45:03 +0000 (09:45 +0200)]
[OpenMP] Fix GCC warnings. NFC.

Remove an extra semicolon, and add llvm_unreachable to avoid warnings
about control reaching the end of a non-void function.

4 years ago[LLDB] Fix GCC warnings about extra semicolon. NFC.
Martin Storsjö [Mon, 3 Feb 2020 07:44:31 +0000 (09:44 +0200)]
[LLDB] Fix GCC warnings about extra semicolon. NFC.

4 years agoclang-format: [JS] document InsertTrailingCommas.
Martin Probst [Fri, 31 Jan 2020 09:23:02 +0000 (10:23 +0100)]
clang-format: [JS] document InsertTrailingCommas.

Summary: In release notes and the regular docs.

Reviewers: MyDeveloperDay

Subscribers: cfe-commits

Tags: #clang

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

4 years ago[Attributor][FIX] Try to resolve non-determinism problem for now
Johannes Doerfert [Mon, 3 Feb 2020 06:45:48 +0000 (00:45 -0600)]
[Attributor][FIX] Try to resolve non-determinism problem for now

 There seems to be another instance of non-determinism which causes the
 number of iterations to be either 1 or 3 for one benchmark, depending
 on the system. This needs to be investigated and resolved. In the
 meantime we do not verify the number of iterations for this benchmark.

4 years ago[Attributor] AANoRecurse check all call sites for `norecurse`
Johannes Doerfert [Mon, 30 Dec 2019 22:15:38 +0000 (16:15 -0600)]
[Attributor] AANoRecurse check all call sites for `norecurse`

If all call sites are in `norecurse` functions we can derive `norecurse`
as the ReversePostOrderFunctionAttrsPass does. This should make
ReversePostOrderFunctionAttrsLegacyPass obsolete once the Attributor is
enabled.

Reviewed By: uenoku

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

4 years ago[Attributor] Propagate known information from `checkForAllCallSites`
Johannes Doerfert [Mon, 30 Dec 2019 22:12:36 +0000 (16:12 -0600)]
[Attributor] Propagate known information from `checkForAllCallSites`

If we know that all call sites have been processed we can derive an
early fixpoint. The use in this patch is likely not to trigger right now
but a follow up patch will make use of it.

Reviewed By: uenoku, baziotis

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

4 years ago[Driver][test] Change %itanium_abi_triple to generic ELF
Fangrui Song [Mon, 3 Feb 2020 05:44:01 +0000 (21:44 -0800)]
[Driver][test] Change %itanium_abi_triple to generic ELF

x86_64-windows and darwin default to PIC. They don't use PIE.

4 years ago[DebugInfo] Remove an unused method DWARFUnit::getDWARF5HeaderSize(). NFC.
Igor Kudrin [Fri, 31 Jan 2020 10:56:15 +0000 (17:56 +0700)]
[DebugInfo] Remove an unused method DWARFUnit::getDWARF5HeaderSize(). NFC.

The method was initially added for DWARFVerifier::verifyUnitHeader() but
its results were never actually used.

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

4 years ago[X86] Remove a couple unnecessary calls to ConvertCmpIfNecessary.
Craig Topper [Mon, 3 Feb 2020 05:27:43 +0000 (21:27 -0800)]
[X86] Remove a couple unnecessary calls to ConvertCmpIfNecessary.

We only need to call this on floating point comparisons. In this
case these are known to be integer compares. One of them even
has a SUB opcode instead of CMP.

4 years ago[PM][CGSCC] Add a helper to update the call graph from SCC passes
Johannes Doerfert [Mon, 30 Dec 2019 23:02:09 +0000 (17:02 -0600)]
[PM][CGSCC] Add a helper to update the call graph from SCC passes

With this patch new trivial edges can be added to an SCC in a CGSCC
pass via the updateCGAndAnalysisManagerForCGSCCPass method. It shares
almost all the code with the existing
updateCGAndAnalysisManagerForFunctionPass method but it implements the
first step towards the TODOs.

This was initially part of D70927.

Reviewed By: JonChesterfield

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

4 years ago[llvm-extract] Add -keep-const-init commandline option
Juneyoung Lee [Sat, 1 Feb 2020 17:34:10 +0000 (02:34 +0900)]
[llvm-extract] Add -keep-const-init commandline option

Summary:
This adds -keep-const-init option to llvm-extract which preserves initializers of
used global constants.

For example:

```
$ cat a.ll
@g = constant i32 0
define i32 @f() {
  %v = load i32, i32* @g
  ret i32 %v
}

$ llvm-extract --func=f a.ll -S -o -
@g = external constant i32
define i32 @f() { .. }

$ llvm-extract --func=f a.ll -keep-const-init -S -o -
@g = constant i32 0
define i32 @f() { .. }
```

This option is useful in checking whether a function that uses a constant global is optimized correctly.

Reviewers: jsji, MaskRay, david2050

Reviewed By: MaskRay

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

4 years ago[gn build] Port c953409ff89
LLVM GN Syncbot [Mon, 3 Feb 2020 05:24:55 +0000 (05:24 +0000)]
[gn build] Port c953409ff89

4 years ago[Inliner][NoAlias] Use call site attributes too
Johannes Doerfert [Tue, 28 Jan 2020 06:20:03 +0000 (00:20 -0600)]
[Inliner][NoAlias] Use call site attributes too

If we had `noalias` on an argument the inliner created alias scope
metadata already. However, the call site `noalias` annotation was not
considered. Since the Attributor can derive such call site `noalias`
annotation we should treat them the same as argument annotations.

Reviewed By: hfinkel

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

4 years ago[OpenMP][Part 1] Reusable OpenMP context/traits handling
Johannes Doerfert [Mon, 23 Dec 2019 21:50:27 +0000 (15:50 -0600)]
[OpenMP][Part 1] Reusable OpenMP context/traits handling

This is the first of multiple parts to make OpenMP context/trait
handling reusable and generic. This patch was originally part of D71830
but with the unit tests it can be tested independently.

This patch implements an almost complete handling of OpenMP
contexts/traits such that we can reuse most of the logic in Flang
through the OMPContext.{h,cpp} in llvm/Frontend/OpenMP.

All but construct SIMD specifiers, e.g., inbranch, and the device ISA
selector are define in llvm/lib/Frontend/OpenMP/OMPKinds.def. From
these definitions we generate the enum classes TraitSet,
TraitSelector, and TraitProperty as well as conversion and helper
functions in llvm/lib/Frontend/OpenMP/OMPContext.{h,cpp}.

The OpenMP context is now an explicit object (see `struct OMPContext`).
This is in anticipation of construct traits that need to be tracked. The
OpenMP context, as well as the VariantMatchInfo, are basically made up
of a set of active or respectively required traits, e.g., 'host', and an
ordered container of constructs which allows duplication. Matching and
scoring is kept as generic as possible to allow easy extension in the
future.

Reviewed By: JonChesterfield

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

4 years ago[Driver] Fix fsemantic-interposition.c for Windows and Darwin
Fangrui Song [Mon, 3 Feb 2020 04:55:24 +0000 (20:55 -0800)]
[Driver] Fix fsemantic-interposition.c for Windows and Darwin

4 years ago[Driver] Move -fsemantic-interposition decision from cc1 to driver
Fangrui Song [Mon, 3 Feb 2020 03:30:39 +0000 (19:30 -0800)]
[Driver] Move -fsemantic-interposition decision from cc1 to driver

And add test/Driver/fsemantic-interposition.c

4 years ago[NFC] Fix helptext for opt/llc after https://reviews.llvm.org/D68411
Shengchen Kan [Mon, 3 Feb 2020 04:31:42 +0000 (12:31 +0800)]
[NFC] Fix helptext for opt/llc after https://reviews.llvm.org/D68411

Remove "cl::value_desc("jcc, fused, jmp, call, ret, indirect"),", which
makes the option+it's cl::value_desc too long in all of help.

4 years agobuild: attempt to repair the build
Saleem Abdulrasool [Mon, 3 Feb 2020 00:18:00 +0000 (16:18 -0800)]
build: attempt to repair the build

The change in 9b84dabc5f36f7e027c62b5c00ea97e21cfcacdd uses a newer
syntax which not all the builders support.  Use an explicit `OR` over
the languages instead to repair the builders.

4 years agoFixed typo in CTE release notes failing build
Nathan James [Sun, 2 Feb 2020 21:51:34 +0000 (21:51 +0000)]
Fixed typo in CTE release notes failing build

4 years ago[clang-tidy] Added option for disabling const qualifiers in readability-qualified...
Nathan James [Sun, 2 Feb 2020 21:27:04 +0000 (21:27 +0000)]
[clang-tidy] Added option for disabling const qualifiers in readability-qualified-auto

Summary: Adds an option called `AddConstToQualified` to readability-qualified-auto to toggle adding const to the auto typed pointers and references. By default its enabled but in the LLVM module its disabled.

Reviewers: aaron.ballman, alexfh, JonasToth, hokein, sammccall

Reviewed By: aaron.ballman

Subscribers: Quuxplusone, merge_guards_bot, lebedev.ri, xazax.hun, cfe-commits

Tags: #clang, #clang-tools-extra

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

4 years ago[clang-tidy] Fix false positive for cppcoreguidelines-init-variables
Nathan James [Sun, 2 Feb 2020 21:26:04 +0000 (21:26 +0000)]
[clang-tidy] Fix false positive for cppcoreguidelines-init-variables

Summary: Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=44746 | False positive for cppcoreguidelines-init-variables in range based for loop in template function ]]

Reviewers: aaron.ballman, alexfh, hokein, JonasToth, gribozavr2

Reviewed By: aaron.ballman

Subscribers: merge_guards_bot, xazax.hun, wuzish, nemanjai, kbarton, cfe-commits

Tags: #clang, #clang-tools-extra

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

4 years ago[X86] Use MVT::f80 for the result type of the FLD used to convert from SSE register...
Craig Topper [Sun, 2 Feb 2020 21:23:35 +0000 (13:23 -0800)]
[X86] Use MVT::f80 for the result type of the FLD used to convert from SSE register to X87 register in FP_TO_INTHelper.

4 years agobuild: only pass -UNDEBUG when compiling C/C++
Saleem Abdulrasool [Sun, 2 Feb 2020 18:49:03 +0000 (10:49 -0800)]
build: only pass -UNDEBUG when compiling C/C++

This patch limits adding -UNDEBUG to C and C++ files so that projects
can include files compiled with compilers that don't recognize this
argument (Swift e.g.).

add_definitions does not expand generators, hence the change from
add_definitions to add_compile_options.

Patch by Evan Wilde!

4 years ago[mlir][Linalg][doc] Add Design Document for the Linalg Dialect
Nicolas Vasilache [Sun, 2 Feb 2020 15:21:34 +0000 (10:21 -0500)]
[mlir][Linalg][doc] Add Design Document for the Linalg Dialect

Summary: This revision adds a Rationale for the Linalg Dialect

Reviewers: rriddle, mehdi_amini, ftynse, albertcohen

Reviewed By: albertcohen

Subscribers: merge_guards_bot, jfb, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, llvm-commits

Tags: #llvm

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

4 years agoRevert "[mlir][Linalg][doc] Add Design Document for the Linalg Dialect"
Nicolas Vasilache [Sun, 2 Feb 2020 15:21:02 +0000 (10:21 -0500)]
Revert "[mlir][Linalg][doc] Add Design Document for the Linalg Dialect"

This reverts commit 1d58a7c82f77154bf56a51a5f248ef5d0a9bb4a8.

4 years ago[X86] Cleanup the lrint/llrint/lround/llround tests a bit.
Craig Topper [Sun, 2 Feb 2020 18:24:35 +0000 (10:24 -0800)]
[X86] Cleanup the lrint/llrint/lround/llround tests a bit.

We don't need tests for truncating the result. There's nothing
special about those truncates.

We can test llrint/llround for 64-bit and 32-bit targets in the same file.
Same with lrint/lround with i32 result result. lrint/lround with
64-bit result should only occur on a 64-bit target.

Add some missing tests for f80 conversions.

4 years ago[gn build] Port a7bbe45a3e2
LLVM GN Syncbot [Sun, 2 Feb 2020 18:45:50 +0000 (18:45 +0000)]
[gn build] Port a7bbe45a3e2

4 years agoBuild assume from call
Tyker [Sun, 2 Feb 2020 13:46:59 +0000 (14:46 +0100)]
Build assume from call

Fix attempt

this is part of the implementation of http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html

this patch gives the basis of building an assume to preserve all information from an instruction and add support for building an assume that preserve the information from a call.

4 years ago[test] More tests to target specific directories after CodeGenPrepare requires Target...
Fangrui Song [Sun, 2 Feb 2020 18:40:23 +0000 (10:40 -0800)]
[test] More tests to target specific directories after CodeGenPrepare requires TargetPassConfig (D73754)

4 years agoRegenerate bitcast test for upcoming patch.
Simon Pilgrim [Sun, 2 Feb 2020 18:27:16 +0000 (18:27 +0000)]
Regenerate bitcast test for upcoming patch.

4 years agoFix a few spelling mistakes in comments. NFCI.
Simon Pilgrim [Sun, 2 Feb 2020 18:15:44 +0000 (18:15 +0000)]
Fix a few spelling mistakes in comments. NFCI.

4 years ago[gn build] Delete stale AttributesCompatFunc after D72455/cfe87a4a16b73652dc06f9fa334...
Fangrui Song [Sun, 2 Feb 2020 18:05:42 +0000 (10:05 -0800)]
[gn build] Delete stale AttributesCompatFunc after D72455/cfe87a4a16b73652dc06f9fa334137656991f13f

4 years ago[X86][SSE] Add bitcast <128 x i1> %1 to <2 x i64> test case
Simon Pilgrim [Sun, 2 Feb 2020 17:59:45 +0000 (17:59 +0000)]
[X86][SSE] Add bitcast <128 x i1> %1 to <2 x i64> test case

4 years ago[X86][SSE] combineBitcastvxi1 - add pre-AVX512 v64i1 handling
Simon Pilgrim [Sun, 2 Feb 2020 17:57:15 +0000 (17:57 +0000)]
[X86][SSE] combineBitcastvxi1 - add pre-AVX512 v64i1 handling

4 years ago[CodeGenPrepare][test] Add REQUIRES to two tests after D73754
Fangrui Song [Sun, 2 Feb 2020 17:53:17 +0000 (09:53 -0800)]
[CodeGenPrepare][test] Add REQUIRES to two tests after D73754

4 years ago[CodeGenPrepare] Delete dead !DL check
Fangrui Song [Sun, 2 Feb 2020 17:45:48 +0000 (09:45 -0800)]
[CodeGenPrepare] Delete dead !DL check

Follow-up for D73754

DL is assigned in CodeGenPrepare::runOnFunction and is guaranteed to be
non-null.

4 years agoRevert "[WIP] Build assume from call"
Tyker [Sun, 2 Feb 2020 17:34:09 +0000 (18:34 +0100)]
Revert "[WIP] Build assume from call"

casued buildbot failure

This reverts commit 8ebe001553d0c204cc41f3dbc595031828b1f140.

4 years ago[CodeGenPrepare] Make TargetPassConfig required
Fangrui Song [Fri, 31 Jan 2020 00:17:43 +0000 (16:17 -0800)]
[CodeGenPrepare] Make TargetPassConfig required

The code paths in the absence of TargetMachine, TargetLowering or
TargetRegisterInfo are poorly tested. As rL285987 said, requiring
TargetPassConfig allows us to delete many (untested) checks littered
everywhere.

Reviewed By: arsenm

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

4 years ago[WIP] Build assume from call
Tyker [Sun, 2 Feb 2020 13:46:59 +0000 (14:46 +0100)]
[WIP] Build assume from call

Summary:
this is part of the implementation of http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html

this patch gives the basis of building an assume to preserve all information from an instruction and add support for building an assume that preserve the information from a call.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: mgrang, fhahn, mgorny, hiraditya, llvm-commits

Tags: #llvm

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

4 years agoRevert "[WIP] Build assume from call"
Tyker [Sun, 2 Feb 2020 17:09:06 +0000 (18:09 +0100)]
Revert "[WIP] Build assume from call"

caused build bot failure

This reverts commit 780d2c532fe5ca4a368c5e631197a839e03a3cc4.

4 years ago[WIP] Build assume from call
Tyker [Sun, 2 Feb 2020 13:46:59 +0000 (14:46 +0100)]
[WIP] Build assume from call

Summary:
this is part of the implementation of http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html

this patch gives the basis of building an assume to preserve all information from an instruction and add support for building an assume that preserve the information from a call.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: mgrang, fhahn, mgorny, hiraditya, llvm-commits

Tags: #llvm

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

4 years agoRevert "[WIP] Build assume from call"
Tyker [Sun, 2 Feb 2020 16:49:23 +0000 (17:49 +0100)]
Revert "[WIP] Build assume from call"

This reverts commit 355e4bfd7890e50b492b2dc29f70fc41ad8f867f.

4 years ago[WIP] Build assume from call
Tyker [Sun, 2 Feb 2020 13:46:59 +0000 (14:46 +0100)]
[WIP] Build assume from call

Summary:
this is part of the implementation of http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html

this patch gives the basis of building an assume to preserve all information from an instruction and add support for building an assume that preserve the information from a call.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: mgrang, fhahn, mgorny, hiraditya, llvm-commits

Tags: #llvm

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

4 years ago[Analysis] add optional index parameter to isSplatValue()
Sanjay Patel [Sun, 2 Feb 2020 14:16:42 +0000 (09:16 -0500)]
[Analysis] add optional index parameter to isSplatValue()

We want to allow splat value transforms to improve PR44588 and related bugs:
https://bugs.llvm.org/show_bug.cgi?id=44588
...but to do that, we need to know if values are splatted from the same,
specific index (lane) rather than splatted from an arbitrary index.

We can improve the undef handling with 1-liner follow-ups because the
Constant API optionally allow undefs now.

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

4 years agoRemove superfluous space from -Wrange-loop-construct message
Aaron Puchert [Sun, 2 Feb 2020 15:22:58 +0000 (16:22 +0100)]
Remove superfluous space from -Wrange-loop-construct message

4 years ago[NFC] Refactor TableGen for attributes
Tyker [Sun, 2 Feb 2020 13:46:50 +0000 (14:46 +0100)]
[NFC] Refactor TableGen for attributes

Summary:
this patch makes tablegen generate llvm attributes in a more generic and simpler (at least to me).

changes:  make tablegen generate
...
ATTRIBUTE_ENUM(Alignment,align)
ATTRIBUTE_ENUM(AllocSize,allocsize)
...
which can be used to generate most of what was previously used and more.

Tablegen was also generating attributes from 2 identical files leading to identical output. so I removed one of them and made user use the other.

Reviewers: jdoerfert, thakis, aaron.ballman

Reviewed By: aaron.ballman

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

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

4 years agoRevert "[NFC] Refactor TableGen for attributes"
Tyker [Sun, 2 Feb 2020 14:03:37 +0000 (15:03 +0100)]
Revert "[NFC] Refactor TableGen for attributes"

This reverts commit 4dba14cf37abda16ab33cb748a5c762dae2e95e9.

4 years agoRevert "[WIP] Build assume from call"
Tyker [Sun, 2 Feb 2020 14:03:22 +0000 (15:03 +0100)]
Revert "[WIP] Build assume from call"

This reverts commit 2ff5602cb52969d3273062f36340fe95ac4e82da.

4 years ago[clang-tidy] Fixed crash 44745 in readability-else-after-return
Nathan James [Sun, 2 Feb 2020 14:04:25 +0000 (14:04 +0000)]
[clang-tidy] Fixed crash 44745 in readability-else-after-return

Summary: Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=44745 | readability-else-after-return crashes ]]

Reviewers: aaron.ballman, alexfh, hokein, JonasToth, gribozavr2

Reviewed By: alexfh

Subscribers: merge_guards_bot, xazax.hun, cfe-commits

Tags: #clang, #clang-tools-extra

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

4 years agoRevert "[NFC] Factor out function to detect if an attribute has an argument."
Tyker [Sun, 2 Feb 2020 14:03:06 +0000 (15:03 +0100)]
Revert "[NFC] Factor out function to detect if an attribute has an argument."

This reverts commit ff1b9add2ffd47abc649895e33b3e5c30d6f2079.

4 years ago[NFC] Factor out function to detect if an attribute has an argument.
Tyker [Sun, 2 Feb 2020 13:47:00 +0000 (14:47 +0100)]
[NFC] Factor out function to detect if an attribute has an argument.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

4 years ago[WIP] Build assume from call
Tyker [Sun, 2 Feb 2020 13:46:59 +0000 (14:46 +0100)]
[WIP] Build assume from call

Summary:
this is part of the implementation of http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html

this patch gives the basis of building an assume to preserve all information from an instruction and add support for building an assume that preserve the information from a call.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: mgrang, fhahn, mgorny, hiraditya, llvm-commits

Tags: #llvm

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

4 years ago[NFC] Refactor TableGen for attributes
Tyker [Sun, 2 Feb 2020 13:46:50 +0000 (14:46 +0100)]
[NFC] Refactor TableGen for attributes

Summary:
this patch makes tablegen generate llvm attributes in a more generic and simpler (at least to me).

changes:  make tablegen generate
...
ATTRIBUTE_ENUM(Alignment,align)
ATTRIBUTE_ENUM(AllocSize,allocsize)
...
which can be used to generate most of what was previously used and more.

Tablegen was also generating attributes from 2 identical files leading to identical output. so I removed one of them and made user use the other.

Reviewers: jdoerfert, thakis, aaron.ballman

Reviewed By: aaron.ballman

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

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

4 years agoRevert "[ARM][MVE] VPT Blocks: findVCMPToFoldIntoVPS"
David Green [Sun, 2 Feb 2020 13:24:05 +0000 (13:24 +0000)]
Revert "[ARM][MVE] VPT Blocks: findVCMPToFoldIntoVPS"

This reverts commit e34801c8e6df and the followup due to multiple
problems.

I've tried to keep the tests and RDA parts where possible, as those
still seem useful.

4 years ago[Transforms] Simplify with make_early_inc_range
Fangrui Song [Sun, 2 Feb 2020 07:57:22 +0000 (23:57 -0800)]
[Transforms] Simplify with make_early_inc_range

4 years ago[DebugInfo] Merge DebugInfoFinder::{processDeclare,processValue} into processVariable
Fangrui Song [Sun, 2 Feb 2020 06:59:51 +0000 (22:59 -0800)]
[DebugInfo] Merge DebugInfoFinder::{processDeclare,processValue} into processVariable

The two functions are identical.

4 years ago[mlir] Expand shape functions in ShapeInference doc
Jacques Pienaar [Tue, 28 Jan 2020 20:05:54 +0000 (12:05 -0800)]
[mlir] Expand shape functions in ShapeInference doc

Summary:
Start filling in some requirements for the shape function descriptions
that will be used to derive shape computations. This requiement part may
later be reworked to be part of the "context" section of shape dialect. Without
examples this may be a bit too abstract but I hope not (given mappings to
existing shape functions).

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

4 years ago[PatchableFunction] Use an empty DebugLoc
Fangrui Song [Sat, 1 Feb 2020 21:28:19 +0000 (13:28 -0800)]
[PatchableFunction] Use an empty DebugLoc

The current FirstMI.getDebugLoc() is actually null in almost all cases.
If it isn't, the generated .loc will be considered initial. The .loc
will have the prologue_end flag and terminate the prologue prematurely.

Also use an overload of BuildMI that will not prepend
PATCHABLE_FUNCTION_ENTRY to a MachineInstr bundle.

4 years ago[ADT] 'PointerUnion::is' returns 'bool'
Brian Gesiak [Sat, 1 Feb 2020 20:03:54 +0000 (15:03 -0500)]
[ADT] 'PointerUnion::is' returns 'bool'

Summary:
The return type of 'PointerUnion::is' has been 'int' since it was first
added in March 2009, in SVN r67987, or
https://github.com/llvm/llvm-project/commit/a9c6de15fb3.

The only other change to this member function was a clang-format applied
in December 2015, in SVN r256513, or
https://github.com/llvm/llvm-project/commit/548a49aacc0.

However, since the return value is the result of a `==` comparison, an
implicit cast must be made converting the boolean result to an `int`.
Change the return type to `bool` to remove the need for such a cast.

Test Plan:
I ran llvm-project `check-all` under ASAN, no failures were reported
(other than obviously unrelated tests that were already failing in
ASAN buildbots).

Reviewers: gribozavr, gribozavr2, rsmith, bkramer, dblaikie

Subscribers: dexonsmith, llvm-commits

Tags: #llvm

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

4 years agoAMDGPU/GFX10: Fix NSA reassign pass when operands are undef
Nicolai Hähnle [Sat, 1 Feb 2020 14:12:24 +0000 (15:12 +0100)]
AMDGPU/GFX10: Fix NSA reassign pass when operands are undef

Summary:
Virtual registers that are undef have an empty LiveInterval at this
point, which means beginIndex() and endIndex() cannot be used. We
only need those indices to determine the range in which to scan for
affected other NSA instructions, and undef operands cannot contribute
to that range.

Reviewers: arsenm, rampitec, mareko

Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits

Tags: #llvm

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

4 years ago[clang][driver] Remove an unused parameter. NFC.
Michael Liao [Sat, 1 Feb 2020 21:16:17 +0000 (16:16 -0500)]
[clang][driver] Remove an unused parameter. NFC.

- Group relevant code together.

4 years ago[X86] In X86FastEmitSSESelect, fall back to SelectionDAG if the inputs to the compare...
Craig Topper [Sat, 1 Feb 2020 20:24:53 +0000 (12:24 -0800)]
[X86] In X86FastEmitSSESelect, fall back to SelectionDAG if the inputs to the compare can't be found in registers.

We were checking that the original Value * for the compare operands
were null. But that can never happen.

I believe we intended to check for 0 registers here instead.

Fixes PR44749.

4 years ago[X86] Don't exit from foldOffsetIntoAddress if the Offset is 0, but AM.Disp is non...
Craig Topper [Fri, 31 Jan 2020 05:23:05 +0000 (21:23 -0800)]
[X86] Don't exit from foldOffsetIntoAddress if the Offset is 0, but AM.Disp is non-zero.

This is an alternate fix for the issue D73606 was trying to
solve.

The main issue here is that we bailed out of
foldOffsetIntoAddress if Offset is 0. But if we just found a
symbolic displacement and AM.Disp became non-zero
earlier, we still need to validate that AM.Disp with the symbolic
displacement.

This is my second attempt at committing this after failing
build bots previously. One thing I realized about the previous
attempt is that its possible that AM.Disp is already non-zero
and the new Offset changes it back to zero. In that case my
previous attempt failed to update AM.Disp to zero. So this patch
removes the early out for 0 and appropriately handle the 0 case
in each check so we still update AM.Disp at the end.

4 years agoAdd ThinLtoJIT example
Stefan Gränitz [Sat, 11 Jan 2020 00:09:42 +0000 (01:09 +0100)]
Add ThinLtoJIT example

Summary:
Prototype of a JIT compiler that utilizes ThinLTO summaries to compile modules ahead of time. This is an implementation of the concept I presented in my "ThinLTO Summaries in JIT Compilation" talk at the 2018 Developers' Meeting: http://llvm.org/devmtg/2018-10/talk-abstracts.html#lt8

Upfront the JIT first populates the *combined ThinLTO module index*, which provides fast access to the global call-graph and module paths by function. Next, it loads the main function's module and compiles it. All functions in the module will be emitted with prolog instructions that *fire a discovery flag* once execution reaches them. In parallel, the *discovery thread* is busy-watching the existing flags. Once it detects one has fired, it uses the module index to find all functions that are reachable from it within a given number of calls and submits their defining modules to the compilation pipeline.

While execution continues, more flags are fired and further modules added. Ideally the JIT can be tuned in a way, so that in the majority of cases the code on the execution path can be compiled ahead of time. In cases where it doesn't work, the JIT has a *definition generator* in place that loads modules if missing functions are reached.

Reviewers: lhames, dblaikie, jfb, tejohnson, pree-jackie, AlexDenisov, kavon

Subscribers: mgorny, mehdi_amini, inglorion, hiraditya, steven_wu, dexonsmith, arphaman, jfb, merge_guards_bot, llvm-commits

Tags: #llvm

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

4 years ago[LegalizeTypes][X86] Add a new strategy for type legalizing f16 type that softens...
Craig Topper [Sat, 1 Feb 2020 06:42:07 +0000 (22:42 -0800)]
[LegalizeTypes][X86] Add a new strategy for type legalizing f16 type that softens it to i16, but promotes to f32 around arithmetic ops.

This is based on this llvm-dev thread http://lists.llvm.org/pipermail/llvm-dev/2019-December/137521.html

The current strategy for f16 is to promote type to float every except where the specific width is required like loads, stores, and bitcasts. This results in rounding occurring in odd places instead of immediately after arithmetic operations. This interacts in weird ways with the __fp16 type in clang which is a storage only type where arithmetic is always promoted to float. InstCombine can remove some fpext/fptruncs around such arithmetic and turn it into arithmetic on half. This wouldn't be so bad if SelectionDAG was able to put those fpext/fpround back in when it promotes.

It is also not obvious how to handle to make the existing strategy work with STRICT fp. We need to use STRICT versions of the conversions which require chain operands. But if the conversions are created for a bitcast, there is no place to get an appropriate chain from.

This patch implements a different strategy where conversions are emitted directly around arithmetic operations. And otherwise its passed around as an i16 including in arguments and return values. This can result in more conversions between arithmetic operations, but is closer to matching the IR the frontend generates for __fp16. And it will allow us to use the chain from constrained arithmetic nodes to link the STRICT_FP_TO_FP16/STRICT_FP16_TO_FP that will need to be added. I've set it up so that each target can opt into the new behavior. Converting all the targets myself was more than I was able to handle.

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

4 years ago[Sema] Remove a -Wrange warning from -Wall
Mark de Wever [Sat, 1 Feb 2020 17:40:07 +0000 (18:40 +0100)]
[Sema] Remove a -Wrange warning from -Wall

During the review of D73007 Aaron Puchert mentioned
`warn_for_range_variable_always_copy` shouldn't be part of -Wall since
some coding styles require `for(const auto &bar : bars)`. This warning
would cause false positives for these users. Based on Aaron's proposal
refactored the warnings:

* -Wrange-loop-construct warns about possibly unintended constructor
  calls. This is part of -Wall. It contains
  * warn_for_range_copy: loop variable A of type B creates a copy from
    type C
  * warn_for_range_const_reference_copy: loop variable A is initialized
    with a value of a different type resulting in a copy
* -Wrange-loop-bind-reference warns about misleading use of reference
  types. This is not part of -Wall. It contains
  * warn_for_range_variable_always_copy: loop variable A is always a copy
    because the range of type B does not return a reference

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

4 years ago[clang-format] Add option for not breaking line before ObjC params
mydeveloperday [Sat, 1 Feb 2020 17:37:25 +0000 (17:37 +0000)]
[clang-format] Add option for not breaking line before ObjC params

Summary:
From `clang-format` version 3.7.0 and up, , there is no way to keep following format of ObjectiveC block:
```
- (void)_aMethod
{
    [self.test1 t:self w:self callback:^(typeof(self) self, NSNumber *u, NSNumber *v) {
        u = c;
    }]
}
```
Regardless of the change in `.clang-format` configuration file, all parameters will be lined up so that colons will be on the same column, like following:
```
- (void)_aMethod
{
    [self.test1 t:self
                w:self
         callback:^(typeof(self) self, NSNumber *u, NSNumber *v) {
             u = c;
         }]
}
```

Considering with ObjectiveC, the first code style is cleaner & more readable for some people, I've added a config option: `ObjCDontBreakBeforeNestedBlockParam` (boolean) so that if it is enable, the first code style will be favored.

Reviewed By: MyDeveloperDay

Patch By: ghvg1313

Tags: #clang, #clang-format

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

4 years ago[mlir] Fix errors in release & no-assert
Jacques Pienaar [Sat, 1 Feb 2020 16:54:06 +0000 (08:54 -0800)]
[mlir] Fix errors in release & no-assert

Seen on gcc 8, in release mode & assertions off warnings about logger,
made all statements referencing logger inside LLVM_DEBUG blocks and
ifdef a few variables only used in debug.

This is mechanical fix to get CI green.

4 years agoDon't mark MIPS TRAP as isTerminator
Alex Richardson [Sat, 1 Feb 2020 15:49:35 +0000 (15:49 +0000)]
Don't mark MIPS TRAP as isTerminator

This was causing machine verifier errors when compiling libunwind.

Reviewed By: atanasyan
Differential Revision: https://reviews.llvm.org/D73648

4 years agoAMDGPU/GlobalISel: Use more wide vector load/stores
Matt Arsenault [Tue, 21 Jan 2020 17:20:02 +0000 (12:20 -0500)]
AMDGPU/GlobalISel: Use more wide vector load/stores

This improves the type breakdown for some large vectors. For example,
we now get a <4 x s32> and s32 store instead of 5 s32 stores for
<5 x s32>.

4 years agoAMDGPU/GlobalISel: Improve legalization of wide stores
Matt Arsenault [Mon, 20 Jan 2020 00:48:27 +0000 (19:48 -0500)]
AMDGPU/GlobalISel: Improve legalization of wide stores

This fixes legalizations of global stores > 128-bits. It seems work is
needed on how this split actually occurs. For example, we get the
right code for s160, with an s128 and s32 load, but get 5 s32 loads
for <5 x s32>.

4 years agoGlobalISel: Support widening unmerge results with pointer source
Matt Arsenault [Tue, 21 Jan 2020 16:12:36 +0000 (11:12 -0500)]
GlobalISel: Support widening unmerge results with pointer source

4 years agoMake StringRef's std::string conversion operator explicit
Sylvestre Ledru [Sat, 1 Feb 2020 14:36:51 +0000 (15:36 +0100)]
Make StringRef's std::string conversion operator explicit
The build is currenly broken when perf or ffi are enabled for llvm

Just like in https://reviews.llvm.org/rG777180a32b61070a10dd330b4f038bf24e916af1

4 years agoRemove unused function. NFCI.
Simon Pilgrim [Sat, 1 Feb 2020 13:01:58 +0000 (13:01 +0000)]
Remove unused function. NFCI.

4 years ago[ValueTracking] Add DemandedElts support to computeKnownBits/ComputeNumSignBits ...
Simon Pilgrim [Sat, 1 Feb 2020 12:45:46 +0000 (12:45 +0000)]
[ValueTracking] Add DemandedElts support to computeKnownBits/ComputeNumSignBits (PR36319)

This patch adds initial support for a DemandedElts mask to the internal computeKnownBits/ComputeNumSignBits methods, matching the SelectionDAG and GlobalISel equivalents.

So far only a couple of instructions have been setup to handle the DemandedElts, the remainder still using the existing 'all elements' default. The plan is to extend support as we have test coverage.

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

4 years ago[Frontend] Delete a redundant check of -pg for setFramePointer()
Fangrui Song [Sat, 1 Feb 2020 08:16:19 +0000 (00:16 -0800)]
[Frontend] Delete a redundant check of -pg for setFramePointer()

Driver errors if -fomit-frame-pointer is used together with -pg.
useFramePointerForTargetByDefault() returns true if -pg is specified.
=>
(!OmitFP && useFramePointerForTargetByDefault(Args, Triple)) is true
=>
We cannot get FramePointerKind::None

4 years ago[lldb] Remove LanguageRuntime::GetOverrideExprOptions
Alex Langford [Sat, 1 Feb 2020 05:59:51 +0000 (21:59 -0800)]
[lldb] Remove LanguageRuntime::GetOverrideExprOptions

LanguageRuntime::GetOverrideExprOptions is specific to clang and was
only overridden in RenderScriptRuntime. LanguageRuntime in shouldn't
have any knowledge of clang, so remove it from LanguageRuntime and leave
it only in RenderScriptRuntime.