platform/upstream/llvm.git
6 years ago[analyzer][UninitializedObjectChecker] New flag to turn off dereferencing
Kristof Umann [Tue, 7 Aug 2018 12:55:26 +0000 (12:55 +0000)]
[analyzer][UninitializedObjectChecker] New flag to turn off dereferencing

Even for a checker being in alpha, some reports about pointees held so little
value to the user that it's safer to disable pointer/reference chasing for now.
It can be enabled with a new flag, in which case checker should function as it
has always been. This can be set with `CheckPointeeInitialization`.

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

llvm-svn: 339135

6 years ago[AST][NFC] Use unsigned in the bit-fields of IdentifierInfo
Bruno Ricci [Tue, 7 Aug 2018 12:40:41 +0000 (12:40 +0000)]
[AST][NFC] Use unsigned in the bit-fields of IdentifierInfo

Avoid mixing bool and unsigned in the bit-fields of IdentifierInfo
since MSVC packs this poorly. Also clang-format the changes.

llvm-svn: 339134

6 years ago[AST][NFC] Use unsigned in the bit-fields of PrintingPolicy
Bruno Ricci [Tue, 7 Aug 2018 12:23:41 +0000 (12:23 +0000)]
[AST][NFC] Use unsigned in the bit-fields of PrintingPolicy

Avoid the mix between bools and unsigned since MSVC pack
this poorly.

llvm-svn: 339132

6 years agoFix a couple of extended-offsetof warnings that had slipped through
Pavel Labath [Tue, 7 Aug 2018 12:16:49 +0000 (12:16 +0000)]
Fix a couple of extended-offsetof warnings that had slipped through

llvm-svn: 339130

6 years agoFix inconsistency with/without debug information (-g)
Jonas Devlieghere [Tue, 7 Aug 2018 12:14:01 +0000 (12:14 +0000)]
Fix inconsistency with/without debug information (-g)

This fixes an inconsistency in code generation when compiling with or
without debug information (-g). When debug information is available in
an empty block, the original test would fail, resulting in possibly
different code.

Patch by: Jeroen Dobbelaere

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

llvm-svn: 339129

6 years ago[objc-gnustep] Don't emit .guess ivar offset vars.
David Chisnall [Tue, 7 Aug 2018 12:02:46 +0000 (12:02 +0000)]
[objc-gnustep] Don't emit .guess ivar offset vars.

These were intended to allow non-fragile and fragile ABI code to be
mixed, as long as the fragile classes were higher up the hierarchy than
the non-fragile ones.  Unfortunately:

 - No one actually wants to do this.
 - Recent versions of Linux's run-time linker break it.

llvm-svn: 339128

6 years agoMove RegisterValue,Scalar,State from Core to Utility
Pavel Labath [Tue, 7 Aug 2018 11:07:21 +0000 (11:07 +0000)]
Move RegisterValue,Scalar,State from Core to Utility

These three classes have no external dependencies, but they are used
from various low-level APIs. Moving them down to Utility improves
overall code layering (although it still does not break any particular
dependency completely).

The XCode project will need to be updated after this change.

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

llvm-svn: 339127

6 years ago[mips] Handle branch expansion corner cases
Aleksandar Beserminji [Tue, 7 Aug 2018 10:45:45 +0000 (10:45 +0000)]
[mips] Handle branch expansion corner cases

When potential jump instruction and target are in the same segment, use
jump instruction with immediate field.

In cases where offset does not fit immediate value of a bc/j instructions,
offset is stored into register, and then jump register instruction is used.

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

llvm-svn: 339126

6 years ago[Tablegen] In TargetSchedule.td: Remove unused argument `pfmCounters` from ProcResour...
Andrea Di Biagio [Tue, 7 Aug 2018 10:33:46 +0000 (10:33 +0000)]
[Tablegen] In TargetSchedule.td: Remove unused argument `pfmCounters` from ProcResourceUnits.

PFM counters don't need to be passed in input to the definition of
ProcResourceUnits. class PfmIssueCounter (see r329675) is used to map resources
to PFM counter(s).

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

llvm-svn: 339125

6 years ago[LLD][ELF] - Added test case for non-nullterminated wide strings.
George Rimar [Tue, 7 Aug 2018 10:29:35 +0000 (10:29 +0000)]
[LLD][ELF] - Added test case for non-nullterminated wide strings.

This covers the following line:
https://github.com/llvm-mirror/lld/blob/master/ELF/InputSection.cpp#L1032

llvm-svn: 339124

6 years ago[clang-format] comment reflow: add last line's penalty when ending broken
Krasimir Georgiev [Tue, 7 Aug 2018 10:23:24 +0000 (10:23 +0000)]
[clang-format] comment reflow: add last line's penalty when ending broken

Summary:
This fixes a bug in clang-format where the last line's penalty is not
taken into account when its ending is broken. Usually the last line's penalty
is handled by addNextStateToQueue, but in cases where the trailing `*/` is put
on a newline, the contents of the last line have to be considered for penalizing.

Reviewers: mprobst

Reviewed By: mprobst

Subscribers: cfe-commits

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

llvm-svn: 339123

6 years ago[DebugInfo] Reduce debug_str_offsets section size
Pavel Labath [Tue, 7 Aug 2018 09:54:52 +0000 (09:54 +0000)]
[DebugInfo] Reduce debug_str_offsets section size

Summary:
The accelerator tables use the debug_str section to store their strings.
However, they do not support the indirect method of access that is
available for the debug_info section (DW_FORM_strx et al.).

Currently our code is assuming that all strings can/will be referenced
indirectly, and puts all of them into the debug_str_offsets section.
This is generally true for regular (unsplit) dwarf, but in the DWO case,
most of the strings in the debug_str section will only be used from the
accelerator tables. Therefore the contents of the debug_str_offsets
section will be largely unused and bloating the main executable.

This patch rectifies this by teaching the DwarfStringPool to
differentiate between strings accessed directly and indirectly. When a
user inserts a string into the pool it has to declare whether that
string will be referenced directly or not. If at least one user requsts
indirect access, that string will be assigned an index ID and put into
debug_str_offsets table. Otherwise, the offset table is skipped.

This approach reduces the overall binary size (when compiled with
-gdwarf-5 -gsplit-dwarf) in my tests by about 2% (debug_str_offsets is
shrunk by 99%).

Reviewers: probinson, dblaikie, JDevlieghere

Subscribers: aprantl, mgrang, llvm-commits

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

llvm-svn: 339122

6 years ago[TargetLowering] Add support for non-uniform vectors to BuildUDIV
Simon Pilgrim [Tue, 7 Aug 2018 09:51:34 +0000 (09:51 +0000)]
[TargetLowering] Add support for non-uniform vectors to BuildUDIV

This patch refactors the existing TargetLowering::BuildUDIV base implementation to support non-uniform constant vector denominators.

It also includes a fold for MULHU by pow2 constants to SRL which can now more readily occur from BuildUDIV.

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

llvm-svn: 339121

6 years ago[X86][SSE] Add more non-uniform exact sdiv vector tests covering all/none ashr paths
Simon Pilgrim [Tue, 7 Aug 2018 09:31:22 +0000 (09:31 +0000)]
[X86][SSE] Add more non-uniform exact sdiv vector tests covering all/none ashr paths

llvm-svn: 339120

6 years agovs integration: bump version number
Hans Wennborg [Tue, 7 Aug 2018 09:27:05 +0000 (09:27 +0000)]
vs integration: bump version number

llvm-svn: 339119

6 years agovs integration: update the publisher name
Hans Wennborg [Tue, 7 Aug 2018 09:15:16 +0000 (09:15 +0000)]
vs integration: update the publisher name

llvm-svn: 339118

6 years agovs integration: fix default path to clang-cl
Hans Wennborg [Tue, 7 Aug 2018 09:02:06 +0000 (09:02 +0000)]
vs integration: fix default path to clang-cl

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

llvm-svn: 339117

6 years ago[clangd] Share getSymbolID implementation.
Haojian Wu [Tue, 7 Aug 2018 08:57:52 +0000 (08:57 +0000)]
[clangd] Share getSymbolID implementation.

Summary: And remove all duplicated implementation.

Reviewers: ioeric

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits

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

llvm-svn: 339116

6 years ago[LLD][ELF] - Add a test case for code in Archive::fetch(). NFCI.
George Rimar [Tue, 7 Aug 2018 08:41:37 +0000 (08:41 +0000)]
[LLD][ELF] - Add a test case for code in Archive::fetch(). NFCI.

This covers the following piece with a test.
https://github.com/llvm-mirror/lld/blob/master/ELF/InputFiles.cpp#L830

Thanks to Peter Collingbourne for providing the reproducer sample!

llvm-svn: 339114

6 years ago[yaml2obj] - Add a support for changing EntSize.
George Rimar [Tue, 7 Aug 2018 08:11:38 +0000 (08:11 +0000)]
[yaml2obj] - Add a support for changing EntSize.

I was trying to add a test case for LLD and found that it
is impossible to set sh_entsize via yaml.
The patch implements the missing part.

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

llvm-svn: 339113

6 years agoFix clash of gcc toolchains in driver regression tests
Karl-Johan Karlsson [Tue, 7 Aug 2018 08:10:33 +0000 (08:10 +0000)]
Fix clash of gcc toolchains in driver regression tests

For some regression tests the path to the right toolchain is specified
using the -sysroot switch. However, if clang was configured with a
custom gcc toolchain (either by using GCC_INSTALL_PREFIX in cmake or the
equivalent configure command), the path to the custom gcc toolchain path
takes precedence to the one specified by sysroot. This causes several
regression tests to fail as they will be using an unexpected path. This
patch fixes this issue by adding --gcc-toolchain='' to all tests that
rely on that. The empty string causes the driver to pick the path from
sysroot instead.

This patch contain the same kind of fixes as done in rC225182

llvm-svn: 339112

6 years ago[ARM][NFC] Replaced tab characters in test file vfcmp.ll.
Sjoerd Meijer [Tue, 7 Aug 2018 08:05:15 +0000 (08:05 +0000)]
[ARM][NFC] Replaced tab characters in test file vfcmp.ll.

llvm-svn: 339111

6 years agoAMDGPU: Add builtin for s_dcache_wb
Matt Arsenault [Tue, 7 Aug 2018 07:49:13 +0000 (07:49 +0000)]
AMDGPU: Add builtin for s_dcache_wb

llvm-svn: 339110

6 years agoAMDGPU: Add builtin for s_dcache_inv_vol
Matt Arsenault [Tue, 7 Aug 2018 07:49:04 +0000 (07:49 +0000)]
AMDGPU: Add builtin for s_dcache_inv_vol

llvm-svn: 339109

6 years agoAMDGPU: Add feature vi-insts
Matt Arsenault [Tue, 7 Aug 2018 07:28:46 +0000 (07:28 +0000)]
AMDGPU: Add feature vi-insts

This is necessary to add a VI specific builtin,
__builtin_amdgcn_s_dcache_wb. We already have an
overly specific feature for one of these builtins,
for s_memrealtime. I'm not sure whether it's better
to add more of those, or to get rid of that and merge
it with vi-insts.

Alternatively, maybe this logically goes with scalar-stores?

llvm-svn: 339104

6 years ago[SelectionDAG][X86] Rename MaskedLoadSDNode::getSrc0 to getPassThru.
Craig Topper [Tue, 7 Aug 2018 06:52:49 +0000 (06:52 +0000)]
[SelectionDAG][X86] Rename MaskedLoadSDNode::getSrc0 to getPassThru.

Src0 doesn't really convey any meaning to what the operand is. Passthru matches what's used in the documentation for the intrinsic this comes from.

llvm-svn: 339101

6 years ago[COFF] Fix a comment about automatic resolving of dllimports from within a module...
Martin Storsjo [Tue, 7 Aug 2018 06:42:53 +0000 (06:42 +0000)]
[COFF] Fix a comment about automatic resolving of dllimports from within a module. NFC.

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

llvm-svn: 339100

6 years ago[SelectionDAG][X86] Rename getValue to getPassThru for gather SDNodes.
Craig Topper [Tue, 7 Aug 2018 06:13:40 +0000 (06:13 +0000)]
[SelectionDAG][X86] Rename getValue to getPassThru for gather SDNodes.

getValue is more meaningful name for scatter than it is for gather. Split them and use getPassThru for gather.

llvm-svn: 339096

6 years agoUpdate isl to isl-0.20-48-g13eba5b5
Tobias Grosser [Tue, 7 Aug 2018 05:51:21 +0000 (05:51 +0000)]
Update isl to isl-0.20-48-g13eba5b5

This is a regular maintenance updated.

llvm-svn: 339095

6 years agoMake update-isl work with latest isl versions
Tobias Grosser [Tue, 7 Aug 2018 05:50:58 +0000 (05:50 +0000)]
Make update-isl work with latest isl versions

Latest isl versions require clang to build a 'dist' package. Make sure
we actually ask for it.

While being there, also make sure we build isl on all cores.

llvm-svn: 339094

6 years agoAuto var init test fix #2
JF Bastien [Tue, 7 Aug 2018 04:44:13 +0000 (04:44 +0000)]
Auto var init test fix #2

It turns out that the AVX bots have different alignment for their vectors, and my test mistakenly assumed a particular vector alignent on the stack. Instead, capture the alignment and test for it in subsequent operations.

llvm-svn: 339093

6 years ago[XRay] Improve error reporting when loading traces
Dean Michael Berris [Tue, 7 Aug 2018 04:42:39 +0000 (04:42 +0000)]
[XRay] Improve error reporting when loading traces

Summary:
This change uses a single offset pointer used throughout the
implementation of the individual record parsers. This allows us to
report where in a trace file parsing failed.

We're still in an intermediate step here as we prepare to refactor this
further into a set of types and use object-oriented design principles
for a cleaner implementation. The next steps will be to allow us to
parse/dump files in a streaming fashion and incrementally build up the
structures in memory instead of the current all-or-nothing approach.

Reviewers: kpw, eizan

Reviewed By: kpw

Subscribers: hiraditya, llvm-commits

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

llvm-svn: 339092

6 years ago[lit, tests] Fix failing lit test: shtest-format.py
Stella Stamenova [Tue, 7 Aug 2018 04:08:46 +0000 (04:08 +0000)]
[lit, tests] Fix failing lit test: shtest-format.py

Summary:
The problem here is that on windows double quotes are used for paths (usually) while single quotes are not. This is not generally a problem for the tests because the lit infrastructure tends to treat both the same. One (and possibly only) exception is when some tests are run in an external shell such as some of the shtest-format tests. In this case on windows the path to python was not created correctly because it had single quotes and the test failed.

This same test is already failing with python 3 which is why our testing missed the new failure. This patch will take care of the immediate failure with python 2 and I'll send a follow up for the python 3 failure.

Reviewers: asmith, zturner

Subscribers: delcypher, llvm-commits

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

llvm-svn: 339091

6 years agoRemove broken command flag
JF Bastien [Tue, 7 Aug 2018 04:03:03 +0000 (04:03 +0000)]
Remove broken command flag

I was using it for testing, r339089 shouldn't have contained it.

llvm-svn: 339090

6 years ago[NFC] Test automatic variable initialization
JF Bastien [Tue, 7 Aug 2018 03:12:52 +0000 (03:12 +0000)]
[NFC] Test automatic variable initialization

Summary:
r337887 started using memset for automatic variable initialization where sensible. A follow-up discussion leads me to believe that we should better test automatic variable initialization, and that there are probably follow-up patches in clang and LLVM to improve codegen. It’ll be important to measure -O0 compile time, and figure out which transforms should be in the frontend versus the backend.

This patch is just a test of the current behavior, no questions asked. Follow-up patches will tune the code generation.

<rdar://problem/42981573>

Subscribers: dexonsmith, cfe-commits

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

llvm-svn: 339089

6 years ago[analyzer] pr37204: Take signedness into account in getTruthValue().
Artem Dergachev [Tue, 7 Aug 2018 02:27:38 +0000 (02:27 +0000)]
[analyzer] pr37204: Take signedness into account in getTruthValue().

It now actually produces a signed APSInt when the QualType passed into it is
signed, which is what any caller would expect.

Fixes a couple of crashes.

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

llvm-svn: 339088

6 years ago[analyzer] NFC: Document that we support implicit argument constructors.
Artem Dergachev [Tue, 7 Aug 2018 02:22:59 +0000 (02:22 +0000)]
[analyzer] NFC: Document that we support implicit argument constructors.

The change in the AST in r338135 caused us to accidentally support
inlining constructors of operator implicit arguments. Previously they were
hard to support because they were treated as arguments in expressions
but not in declarations, but now they can be transparently treated as
simple temporaries.

Add tests and comments to explain how it now works.

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

llvm-svn: 339087

6 years ago[NFC] Factor out implicit control flow logic from GVN
Max Kazantsev [Tue, 7 Aug 2018 01:47:20 +0000 (01:47 +0000)]
[NFC] Factor out implicit control flow logic from GVN

Logic for tracking implicit control flow instructions was added to GVN to
perform PRE optimizations correctly. It appears that GVN is not the only
optimization that sometimes does PRE, so this logic is required in other
places (such as Jump Threading).

This is an NFC patch that encapsulates all ICF-related logic in a dedicated
utility class separated from GVN.

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

llvm-svn: 339086

6 years agoPerforming a test commmit as requested by Chris Lattner.
Balaji V. Iyer [Tue, 7 Aug 2018 00:31:44 +0000 (00:31 +0000)]
Performing a test commmit as requested by Chris Lattner.
-This line, and those below, will be ignored--

M    TemplateBase.h

llvm-svn: 339085

6 years ago[WebAssembly] Enable atomic expansion for unsupported atomicrmws
Heejin Ahn [Tue, 7 Aug 2018 00:22:22 +0000 (00:22 +0000)]
[WebAssembly] Enable atomic expansion for unsupported atomicrmws

Summary:
Wasm does not have direct counterparts to some of LLVM IR's atomicrmw
instructions (min, max, umin, umax, and nand). This enables atomic
expansion using cmpxchg instruction within a loop for those atomicrmw
instructions.

Reviewers: dschuff

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

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

llvm-svn: 339084

6 years ago[ELF] Use MathExtras.h llvm::SignExtend64
Fangrui Song [Mon, 6 Aug 2018 23:50:26 +0000 (23:50 +0000)]
[ELF] Use MathExtras.h llvm::SignExtend64

Summary: To be consistent with other files where only SignExtend64 is used.

Reviewers: ruiu, espindola

Subscribers: emaste, arichardson, llvm-commits

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

llvm-svn: 339083

6 years ago[WebAssembly] Replace SIMD expression types with V128
Derek Schuff [Mon, 6 Aug 2018 23:16:50 +0000 (23:16 +0000)]
[WebAssembly] Replace SIMD expression types with V128

Summary:
The spec only defines a SIMD expression type of V128 and
leaves interpretation of different vector types to the instructions.

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

Patch by Thomas Lively

llvm-svn: 339082

6 years ago[libFuzzer] Add unstable function printing to print_unstable_stats flag
Max Moroz [Mon, 6 Aug 2018 23:14:13 +0000 (23:14 +0000)]
[libFuzzer] Add unstable function printing to print_unstable_stats flag

Summary:
There may be cases in which a user wants to know which part of their code is unstable.
We use ObservedFuncs and UnstableCounters to print at exit which of the ObservedFunctions
are unstable under the -print_unstable_stats flag.

Patch by Kyungtak Woo (@kevinwkt).

Reviewers: Dor1s, metzman, morehouse

Reviewed By: Dor1s, metzman, morehouse

Subscribers: delcypher, #sanitizers, llvm-commits, kcc

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

llvm-svn: 339081

6 years agoChanged how LLVM IR was generated to increase vectorization
Emmett Neyman [Mon, 6 Aug 2018 23:11:38 +0000 (23:11 +0000)]
Changed how LLVM IR was generated to increase vectorization

Summary: Changed the structure of the generated IR to make it easier to vectorize

Reviewers: morehouse, kcc

Reviewed By: morehouse

Subscribers: cfe-commits, llvm-commits

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

llvm-svn: 339080

6 years ago[analyzer] Add ASTContext to CheckerManager
George Karpenkov [Mon, 6 Aug 2018 23:09:07 +0000 (23:09 +0000)]
[analyzer] Add ASTContext to CheckerManager

Some checkers require ASTContext. Having it in the constructor saves a
lot of boilerplate of having to pass it around.

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

llvm-svn: 339079

6 years agoAMDGPU: cvt_pk_rtz_f16 canonicalizes
Matt Arsenault [Mon, 6 Aug 2018 23:01:31 +0000 (23:01 +0000)]
AMDGPU: cvt_pk_rtz_f16 canonicalizes

llvm-svn: 339078

6 years agoAMDGPU: Handle some vector operations in isCanonicalized
Matt Arsenault [Mon, 6 Aug 2018 22:45:51 +0000 (22:45 +0000)]
AMDGPU: Handle some vector operations in isCanonicalized

llvm-svn: 339077

6 years ago[lit, python] Always add quotes around the python path in lit
Stella Stamenova [Mon, 6 Aug 2018 22:37:53 +0000 (22:37 +0000)]
[lit, python] Always add quotes around the python path in lit

Summary:
The issue with the python path is that the path to python on Windows can contain spaces. To make the tests always work, the path to python needs to be surrounded by quotes.

This is a companion change to: https://reviews.llvm.org/D50206

Reviewers: asmith, zturner

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

llvm-svn: 339076

6 years ago[lit, python] Always add quotes around the python path in lit
Stella Stamenova [Mon, 6 Aug 2018 22:37:49 +0000 (22:37 +0000)]
[lit, python] Always add quotes around the python path in lit

Summary:
The issue with the python path is that the path to python on Windows can contain spaces. To make the tests always work, the path to python needs to be surrounded by quotes.

This is a companion change to: https://reviews.llvm.org/D50206

Reviewers: asmith, zturner, espindola

Subscribers: emaste, sbc100, arichardson, aheejin, steven_wu, dexonsmith, llvm-commits

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

llvm-svn: 339075

6 years ago[lit, python] Always add quotes around the python path in lit
Stella Stamenova [Mon, 6 Aug 2018 22:37:45 +0000 (22:37 +0000)]
[lit, python] Always add quotes around the python path in lit

Summary:
The issue with the python path is that the path to python on Windows can contain spaces. To make the tests always work, the path to python needs to be surrounded by quotes.

This is a companion change to: https://reviews.llvm.org/D50206

Reviewers: asmith, zturner

Subscribers: cfe-commits

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

llvm-svn: 339074

6 years ago[lit, python] Always add quotes around the python path in lit
Stella Stamenova [Mon, 6 Aug 2018 22:37:44 +0000 (22:37 +0000)]
[lit, python] Always add quotes around the python path in lit

Summary:
The issue with the python path is that the path to python on Windows can contain spaces. To make the tests always work, the path to python needs to be surrounded by quotes.

This change updates several configuration files which specify the path to python as a substitution and also remove quotes from existing tests.

Reviewers: asmith, zturner, alexshap, jakehehrlich

Reviewed By: zturner, alexshap, jakehehrlich

Subscribers: mehdi_amini, nemanjai, eraman, kbarton, jakehehrlich, steven_wu, dexonsmith, stella.stamenova, delcypher, llvm-commits

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

llvm-svn: 339073

6 years agoAMDGPU: Push fcanonicalize through partially constant build_vector
Matt Arsenault [Mon, 6 Aug 2018 22:30:44 +0000 (22:30 +0000)]
AMDGPU: Push fcanonicalize through partially constant build_vector

This usually avoids some re-packing code, and may
help find canonical sources.

llvm-svn: 339072

6 years agoRevert "Add a relocation for R_AARCH64_ABS32 in ObjectFileELF"
Stephane Sezer [Mon, 6 Aug 2018 22:21:28 +0000 (22:21 +0000)]
Revert "Add a relocation for R_AARCH64_ABS32 in ObjectFileELF"

This reverts commit f055ce7eb893cd0d17ebcfd4125018f46f983aff.

llvm-svn: 339071

6 years agoAMDGPU: Refactor fcanonicalize combine
Matt Arsenault [Mon, 6 Aug 2018 22:10:26 +0000 (22:10 +0000)]
AMDGPU: Refactor fcanonicalize combine

This will make more complex combines easier.

llvm-svn: 339070

6 years ago[LICM] Extract a helper function for readability [NFC]
Philip Reames [Mon, 6 Aug 2018 22:07:37 +0000 (22:07 +0000)]
[LICM] Extract a helper function for readability [NFC]

llvm-svn: 339069

6 years agoAdd a relocation for R_AARCH64_ABS32 in ObjectFileELF
Stephane Sezer [Mon, 6 Aug 2018 22:04:08 +0000 (22:04 +0000)]
Add a relocation for R_AARCH64_ABS32 in ObjectFileELF

Summary:
.rela.debug_info relocations are being done via
ObjectFileELF::ApplyRelocations for aarch64. Currently, the switch case
that iterates over the relocation type is only implemented for a few
different types and `assert(false)`es over the rest.

Implement the relocation for R_AARCH64_ABS32 in ApplyRelocations

Reviewers: sas, xiaobai, peter.smith, clayborg, javed.absar, espindola

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

Change by Nathan Lanza <lanza@fb.com>

llvm-svn: 339068

6 years ago[analyzer] InnerPointerChecker: fix displayed checker name.
Reka Kovacs [Mon, 6 Aug 2018 22:03:42 +0000 (22:03 +0000)]
[analyzer] InnerPointerChecker: fix displayed checker name.

For InnerPointerChecker to function properly, both the checker itself
and parts of MallocChecker that handle relevant use-after-free problems
need to be turned on. So far, the latter part has been developed within
MallocChecker's NewDelete sub-checker, often causing warnings to appear
under that name. This patch defines a new CheckKind within MallocChecker
for the inner pointer checking functionality, so that the correct name
is displayed in warnings and in the ExplodedGraph.

Tested on clang-tidy.

Differential Review: https://reviews.llvm.org/D50211

llvm-svn: 339067

6 years agoMC: Redirect .addrsig directives referring to private (.L) symbols to the section...
Peter Collingbourne [Mon, 6 Aug 2018 21:59:58 +0000 (21:59 +0000)]
MC: Redirect .addrsig directives referring to private (.L) symbols to the section symbol.

This matches our behaviour for regular (i.e. relocated) references to
private symbols and therefore avoids needing to unnecessarily write
address-significant .L symbols to the object file's symbol table,
which can interfere with stack traces.

Fixes check-cfi after r339050.

llvm-svn: 339066

6 years agoAMDGPU: Treat more custom operations as canonicalizing
Matt Arsenault [Mon, 6 Aug 2018 21:58:11 +0000 (21:58 +0000)]
AMDGPU: Treat more custom operations as canonicalizing

Everything should quiet, and I think everything should
flush.

I assume the min3/med3/max3 follow the same rules
as regular min/max for flushing, which should at
least be conservatively correct.

There are still more operations that need to
be handled.

llvm-svn: 339065

6 years agoAMDGPU: Conversions always produce canonical results
Matt Arsenault [Mon, 6 Aug 2018 21:51:52 +0000 (21:51 +0000)]
AMDGPU: Conversions always produce canonical results

Not sure why this was checking for denormals for f16.
My interpretation of the IEEE standard is conversions
should produce a canonical result, and the ISA manual
says denormals are created when appropriate.

llvm-svn: 339064

6 years ago[VirtualFileSystem] InMemoryFileSystem::status: Return a Status with the requested...
Simon Marchi [Mon, 6 Aug 2018 21:48:20 +0000 (21:48 +0000)]
[VirtualFileSystem] InMemoryFileSystem::status: Return a Status with the requested name

Summary:
InMemoryFileSystem::status behaves differently than
RealFileSystem::status.  The Name contained in the Status returned by
RealFileSystem::status will be the path as requested by the caller,
whereas InMemoryFileSystem::status returns the normalized path.

For example, when requested the status for "../src/first.h",
RealFileSystem returns a Status with "../src/first.h" as the Name.
InMemoryFileSystem returns "/absolute/path/to/src/first.h".

The reason for this change is that I want to make a unit test in the
clangd testsuite (where we use an InMemoryFileSystem) to reproduce a
bug I get with the clangd program (where a RealFileSystem is used).
This difference in behavior "hides" the bug in the unit test version.

An indirect impact of this change is that a -Wnonportable-include-path
warning is now emitted in test PCH/case-insensitive-include.c.  This is
because the real path of the included file (with the wrong case) was not
available previously, whereas it is now.

Reviewers: malaperle, ilya-biryukov, bkramer

Reviewed By: ilya-biryukov

Subscribers: eric_niebler, malaperle, omtcyfz, hokein, bkramer, ilya-biryukov, ioeric, cfe-commits

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

llvm-svn: 339063

6 years ago[LICM] Further strengthen tests for hoisting guards and invariant.starts [NFC]
Philip Reames [Mon, 6 Aug 2018 21:39:43 +0000 (21:39 +0000)]
[LICM] Further strengthen tests for hoisting guards and invariant.starts [NFC]

llvm-svn: 339062

6 years agoAMDGPU: Fix implementation of isCanonicalized
Matt Arsenault [Mon, 6 Aug 2018 21:38:27 +0000 (21:38 +0000)]
AMDGPU: Fix implementation of isCanonicalized

If denormals are enabled, denormals are canonical.
Also fix a few other issues. minnum/maxnum are supposed
to canonicalize. Temporarily improve workaround for the
instruction behavior change in gfx9.

Handle selects and fcopysign.

The tests were also largely broken, since they were
checking for a flush used on some targets after the
store of the result.

llvm-svn: 339061

6 years agoAdd TARGET(foo) linker script directive.
Rui Ueyama [Mon, 6 Aug 2018 21:29:41 +0000 (21:29 +0000)]
Add TARGET(foo) linker script directive.

GNU ld's manual says that TARGET(foo) is basically an alias for
`--format foo` where foo is a BFD target name such as elf64-x86-64.

Unlike GNU linkers, lld doesn't allow arbitrary BFD target name for
--format. We accept only "default", "elf" or "binary". This makes
situation a bit tricky because we can't simply make TARGET an alias for
--target.

A quick code search revealed that the usage number of TARGET is very
small, and the only meaningful usage is to switch to the binary mode.
Thus, in this patch, we handle only TARGET(elf.*) and TARGET(binary).

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

llvm-svn: 339060

6 years agoFix a -Wsign-compare
Reid Kleckner [Mon, 6 Aug 2018 21:26:47 +0000 (21:26 +0000)]
Fix a -Wsign-compare

llvm-svn: 339059

6 years ago[COFF] Treat .xdata/.pdata$<sym> as implicitly associative to <sym> for MinGW
Martin Storsjo [Mon, 6 Aug 2018 21:26:09 +0000 (21:26 +0000)]
[COFF] Treat .xdata/.pdata$<sym> as implicitly associative to <sym> for MinGW

MinGW configurations don't use associative comdats, as GNU ld doesn't
support that. Instead they produce normal comdats named .text$sym,
.xdata$sym and .pdata$sym.

GNU ld doesn't discard any comdats starting with .xdata or .pdata,
even if --gc-sections is used (while it does discard other unreferenced
comdats), regardless of what symbol name is used after the $ separator.

For LLD, treat any such comdat as implicitly associative to the base
symbol. This requires maintaining a map from symbol name to section
number, but that is only maintained when the MinGW flag has been
enabled.

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

llvm-svn: 339058

6 years ago[LICM] Strengthen invariant.start hoisting tests [NFC]
Philip Reames [Mon, 6 Aug 2018 21:18:34 +0000 (21:18 +0000)]
[LICM] Strengthen invariant.start hoisting tests [NFC]

llvm-svn: 339057

6 years ago[X86] Fix assertion in subreg extraction
Reid Kleckner [Mon, 6 Aug 2018 21:16:16 +0000 (21:16 +0000)]
[X86] Fix assertion in subreg extraction

This assert fires when attempting to extract a subregister from the
global PIC base register. This virtual register SD node is not in the
VRBaseMap, so we shouldn't call getVR to look it up there. If this is a
RegisterSDNode, we should be able to use the virtual register directly.

Fixes PR38385

llvm-svn: 339056

6 years ago[LICM] Add tests highlighting missing hoists for intrinsics [NFC]
Philip Reames [Mon, 6 Aug 2018 21:06:15 +0000 (21:06 +0000)]
[LICM] Add tests highlighting missing hoists for intrinsics [NFC]

llvm-svn: 339054

6 years ago[IRMemoryMap] Avoid redundant zero-init in the Allocation constructor (NFC)
Vedant Kumar [Mon, 6 Aug 2018 20:13:52 +0000 (20:13 +0000)]
[IRMemoryMap] Avoid redundant zero-init in the Allocation constructor (NFC)

In the lldb-bench/arithmetic benchmark, 1.7% of the total running time
is spent zero-initializing a std::vector that has already been zeroed.

llvm-svn: 339051

6 years agoELF: Enable address-significance tables during LTO.
Peter Collingbourne [Mon, 6 Aug 2018 20:12:12 +0000 (20:12 +0000)]
ELF: Enable address-significance tables during LTO.

This allows safe ICF to work when linking with LTO.

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

llvm-svn: 339050

6 years ago[COFF] Remove a superfluous warning about aligncomm for non-common symbols
Martin Storsjo [Mon, 6 Aug 2018 19:49:18 +0000 (19:49 +0000)]
[COFF] Remove a superfluous warning about aligncomm for non-common symbols

It's not an error if a common symbol (uninitialized data, with alignment
specified via the aligncomm directive) is replaced with a regular
one with initialized data (with alignment specified via the section
chunk).

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

llvm-svn: 339049

6 years ago[MinGW] Predefine UNICODE if -municode is specified during compilation
Martin Storsjo [Mon, 6 Aug 2018 19:48:44 +0000 (19:48 +0000)]
[MinGW] Predefine UNICODE if -municode is specified during compilation

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

llvm-svn: 339048

6 years ago[WebAssembly] --export should fetch lazy symbols
Sam Clegg [Mon, 6 Aug 2018 19:45:12 +0000 (19:45 +0000)]
[WebAssembly] --export should fetch lazy symbols

--export now implies --undefined

This is really a requirement from emscripten but I think it
makes sense in general too.

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

llvm-svn: 339047

6 years ago[SLC] Fix shrinking of pow()
Evandro Menezes [Mon, 6 Aug 2018 19:40:17 +0000 (19:40 +0000)]
[SLC] Fix shrinking of pow()

Properly shrink `pow()` to `powf()` as a binary function and, when no other
simplification applies, do not discard it.

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

llvm-svn: 339046

6 years ago[llvm-pdbutil] Support PDBs without a DBI stream
Alexandre Ganea [Mon, 6 Aug 2018 19:35:00 +0000 (19:35 +0000)]
[llvm-pdbutil] Support PDBs without a DBI stream

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

llvm-svn: 339045

6 years agoFix for broken build on clang-hexagon-elf for ambiguous call to
Leonard Chan [Mon, 6 Aug 2018 19:31:00 +0000 (19:31 +0000)]
Fix for broken build on clang-hexagon-elf for ambiguous call to
std::abs.

llvm-svn: 339044

6 years ago[X86] Recognize a splat of negate in isFNEG
Easwaran Raman [Mon, 6 Aug 2018 19:23:38 +0000 (19:23 +0000)]
[X86] Recognize a splat of negate in isFNEG

Summary:
Expand isFNEG so that we generate the appropriate F(N)M(ADD|SUB)
instructions in more cases. For example, the following sequence
a = _mm256_broadcast_ss(f)
d = _mm256_fnmadd_ps(a, b, c)

generates an fsub and fma without this patch and an fnma with this
change.

Reviewers: craig.topper

Subscribers: llvm-commits, davidxl, wmi

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

llvm-svn: 339043

6 years ago[ELF] Don't copy STT_TLS in copy relocation
Fangrui Song [Mon, 6 Aug 2018 19:09:40 +0000 (19:09 +0000)]
[ELF] Don't copy STT_TLS in copy relocation

During copy relocation of a variable defined in a DSO, if a TLS variable in that DSO happens to have the same st_value, it would also be copied. This was unnecessary because the addresses of TLS variables are relative to TLS segment. They don't interfere with non-TLS variables.

This copying behavior can be harmful in the following scenario:

For function-scope thread-local variables with non-trivial constructors,
they have guard variables. In the case of x86_64 general-dynamic model:

template <int N>
void foo() {
  thread_local std::string a;
}

GOT[n]   R_X86_64_DTPMOD64 guard variable for a
GOT[n+1] R_X86_64_DTPOFF64 guard variable for a
GOT[n+2] R_X86_64_DTPMOD64 a
GOT[n+3] R_X86_64_DTPOFF64 a

a and its guard variable are both represented as TLS variables, which
should be within the same module. If one is copy relocated to the main
module while the other is not, their module ID will mismatch and can
cause access without prior construction.

Reviewers: ruiu, espindola

Subscribers: emaste, arichardson, llvm-commits

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

llvm-svn: 339042

6 years ago[X86] When using "and $0" and "orl $-1" to store 0 and -1 for minsize, make sure...
Craig Topper [Mon, 6 Aug 2018 18:44:26 +0000 (18:44 +0000)]
[X86] When using "and $0" and "orl $-1" to store 0 and -1 for minsize, make sure the store isn't volatile

If the store is volatile this might be a memory mapped IO access. In that case we shouldn't generate a load that didn't exist in the source

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

llvm-svn: 339041

6 years ago[X86] Add test cases to show bad use of "and $0" and "orl $-1" for minsize when the...
Craig Topper [Mon, 6 Aug 2018 18:44:21 +0000 (18:44 +0000)]
[X86] Add test cases to show bad use of "and $0" and "orl $-1" for minsize when the store is volatile

If the store is volatile we shouldn't be adding a little that didn't exist in the source.

llvm-svn: 339040

6 years ago[NFC] Remove TODO comment that no longer applies (ParsedAttr)
Erich Keane [Mon, 6 Aug 2018 18:11:48 +0000 (18:11 +0000)]
[NFC] Remove TODO comment that no longer applies (ParsedAttr)

llvm-svn: 339039

6 years agoRemoved the OverflowConversionsToFract tests for now. Will add them back
Leonard Chan [Mon, 6 Aug 2018 18:02:16 +0000 (18:02 +0000)]
Removed the OverflowConversionsToFract tests for now. Will add them back
in once I figure out why this doesn't work on windows.

llvm-svn: 339038

6 years agoFix for failing test from sanitizer-x86_64-linux-fast where there was a
Leonard Chan [Mon, 6 Aug 2018 17:55:38 +0000 (17:55 +0000)]
Fix for failing test from sanitizer-x86_64-linux-fast where there was a
left shift on a negative value.

llvm-svn: 339037

6 years agoForce test/Driver/fuchsia.c(pp) to use lld
David Greene [Mon, 6 Aug 2018 17:35:44 +0000 (17:35 +0000)]
Force test/Driver/fuchsia.c(pp) to use lld

The Fuchsia driver relies on lld so invoke clang with
-fuse-ld=lld. This gets the test passing when the clang default linker
is something other than lld.

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

llvm-svn: 339036

6 years ago[RegisterCoalescer] Delay live interval update work until the rematerialization
Wei Mi [Mon, 6 Aug 2018 17:30:45 +0000 (17:30 +0000)]
[RegisterCoalescer] Delay live interval update work until the rematerialization
for all the uses from the same def is done.

We run into a compile time problem with flex generated code combined with
`-fno-jump-tables`. The cause is that machineLICM hoists a lot of invariants
outside of a big loop, and drastically increases the compile time in global
register splitting and copy coalescing.  https://reviews.llvm.org/D49353
relieves the problem in global splitting. This patch is to handle the problem
in copy coalescing.

About the situation where the problem in copy coalescing happens. After
machineLICM, we have several defs outside of a big loop with hundreds or
thousands of uses inside the loop. Rematerialization in copy coalescing
happens for each use and everytime rematerialization is done, shrinkToUses
will be called to update the huge live interval. Because we have 'n' uses
for a def, and each live interval update will have at least 'n' complexity,
the total update work is n^2.

To fix the problem, we try to do the live interval update work in a collective
way. If a def has many copylike uses larger than a threshold, each time
rematerialization is done for one of those uses, we won't do the live interval
update in time but delay that work until rematerialization for all those uses
are completed, so we only have to do the live interval update work once.

Delaying the live interval update could potentially change the copy coalescing
result, so we hope to limit that change to those defs with many
(like above a hundred) copylike uses, and the cutoff can be adjusted by the
option -mllvm -late-remat-update-threshold=xxx.

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

llvm-svn: 339035

6 years agoFix more offsetof issues.
Greg Clayton [Mon, 6 Aug 2018 17:26:53 +0000 (17:26 +0000)]
Fix more offsetof issues.

llvm-svn: 339034

6 years agoFix offsetof usage that got lost when passing patches between linux and mac.
Greg Clayton [Mon, 6 Aug 2018 17:07:50 +0000 (17:07 +0000)]
Fix offsetof usage that got lost when passing patches between linux and mac.

llvm-svn: 339033

6 years agoAdd support for ARM and ARM64 breakpad generated minidump files (version 2).
Greg Clayton [Mon, 6 Aug 2018 16:56:10 +0000 (16:56 +0000)]
Add support for ARM and ARM64 breakpad generated minidump files (version 2).

In this patch I add support for ARM and ARM64 break pad files. There are two flavors of ARM: Apple where FP is R7, and non Apple where FP is R11. Added minimal tests that load up ARM64 and the two flavors or ARM core files with a single thread and known register values in each register. Each register is checked for the exact value.

This is a fixed version of: https://reviews.llvm.org/D49750

The changes from D49750 are:

Don't init the m_arch in the Initialize call as a system info isn't required. This keeps the thread list, module list and other tests from failing
Added -Wextended-offsetof to Xcode project so we catch use extended usages of offsetof before submission
Fixed any extended offset of warnings

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

llvm-svn: 339032

6 years ago[Fixed Point Arithmetic] Remove unused include.
Benjamin Kramer [Mon, 6 Aug 2018 16:53:21 +0000 (16:53 +0000)]
[Fixed Point Arithmetic] Remove unused include.

lib/Basic cannot depend on lib/AST.

llvm-svn: 339031

6 years ago[AST] Remove unnecessary indirections in DeclarationNameTable
Bruno Ricci [Mon, 6 Aug 2018 16:47:31 +0000 (16:47 +0000)]
[AST] Remove unnecessary indirections in DeclarationNameTable

DeclarationNameTable currently hold 3 "void *" to
FoldingSet<CXXSpecialName>, FoldingSet<CXXLiteralOperatorIdName>
and FoldingSet<CXXDeductionGuideNameExtra>.

CXXSpecialName, CXXLiteralOperatorIdName and
CXXDeductionGuideNameExtra are private classes holding extra
information about a "special" declaration name and are in
AST/DeclarationName.cpp. The original intent seems to have
been to keep these classes private and only expose
DeclarationNameExtra and DeclarationName (the code dates from
2008 and has not been significantly changed since).

However this make the code less straightforward than necessary
because of the need to have "void *" in DeclarationNameTable
(with 1 of 3 comments wrong) and to manually allocate/deallocate
the FoldingSets.

Moreover removing the extra indirections reduce the run-time of
an fsyntax-only on all of Boost by 2.3% which is not totally
unexpected given how frequently this data structure is used
(especially for C++).

A concern raised by erichkeane during the review was that
including Type.h would increase the compile time unreasonably.
However test builds (both clean and incremental) showed that
this patch did not result in any compile time increase.

Reviewed By: erichkeane

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

llvm-svn: 339030

6 years agoFix typo in the MSVC Visualizer for SmallVector class
Daniil Fukalov [Mon, 6 Aug 2018 16:47:24 +0000 (16:47 +0000)]
Fix typo in the MSVC Visualizer for SmallVector class

llvm-svn: 339029

6 years ago[Fixed Point Arithmetic] Fixed Point Constant
Leonard Chan [Mon, 6 Aug 2018 16:42:37 +0000 (16:42 +0000)]
[Fixed Point Arithmetic] Fixed Point Constant

This patch proposes an abstract type that represents fixed point numbers, similar to APInt or APSInt that was discussed in https://reviews.llvm.org/D48456#inline-425585. This type holds a value, scale, and saturation and is meant to perform intermediate calculations on constant fixed point values.

Currently this class is used as a way for handling the conversions between fixed point numbers with different sizes and radixes. For example, if I'm casting from a signed _Accum to a saturated unsigned short _Accum, I will need to check the value of the signed _Accum to see if it fits into the short _Accum which involves getting and comparing against the max/min values of the short _Accum. The FixedPointNumber class currently handles the radix shifting and extension when converting to a signed _Accum.

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

llvm-svn: 339028

6 years agoFix raw_fd_ostream::write_impl hang due to an infinite loop with large output
Owen Reynolds [Mon, 6 Aug 2018 16:21:41 +0000 (16:21 +0000)]
Fix raw_fd_ostream::write_impl hang due to an infinite loop with large output

On windows when raw_fd_ostream::write_impl calls write, a 32 bit input is required for character count. As a variable with size_t is used for this argument, on x64 integral demotion occurs. In the case of large files an infinite loop follows.
See: https://bugs.llvm.org/show_bug.cgi?id=37926
This fix allows the output of files larger than the previous int32 limit.

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

llvm-svn: 339027

6 years ago[Fixed Point Arithmetic] Fix for FixedPointValueToString
Leonard Chan [Mon, 6 Aug 2018 16:05:08 +0000 (16:05 +0000)]
[Fixed Point Arithmetic] Fix for FixedPointValueToString

- Print negative numbers correctly
- Handle APInts of different sizes
- Add formal unit tests for FixedPointValueToString
- Add tests for checking correct printing when padding is set
- Restrict to printing in radix 10 since that's all we need for now

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

llvm-svn: 339026

6 years agoAMDGPU: Fold v_lshl_or_b32 with 0 src0
Matt Arsenault [Mon, 6 Aug 2018 15:40:20 +0000 (15:40 +0000)]
AMDGPU: Fold v_lshl_or_b32 with 0 src0

Appears from expansion of some packed cases.

llvm-svn: 339025

6 years ago[AST] Add individual size info for Types in -print-stats
Bruno Ricci [Mon, 6 Aug 2018 15:17:32 +0000 (15:17 +0000)]
[AST] Add individual size info for Types in -print-stats

This mirrors what is done for Decls and Stmts in the -print-stats
output, ie instead of printing "57426 LValueReference types"
we print "57426 LValueReference types, 40 each (2297040 bytes)".

llvm-svn: 339024

6 years agoValueTracking: Handle canonicalize in CannotBeNegativeZero
Matt Arsenault [Mon, 6 Aug 2018 15:16:26 +0000 (15:16 +0000)]
ValueTracking: Handle canonicalize in CannotBeNegativeZero

Also fix apparently missing test coverage for any of the
handling here.

llvm-svn: 339023

6 years agoAMDGPU: Rename check prefixes in test
Matt Arsenault [Mon, 6 Aug 2018 15:16:12 +0000 (15:16 +0000)]
AMDGPU: Rename check prefixes in test

Will avoid noisy diff in future change.

llvm-svn: 339022

6 years ago[NFC] Fixed unused function warnings
David Bolvansky [Mon, 6 Aug 2018 15:09:15 +0000 (15:09 +0000)]
[NFC] Fixed unused function warnings

llvm-svn: 339021