Stanislav Mekhanoshin [Wed, 14 Aug 2019 20:55:15 +0000 (20:55 +0000)]
[AMDGPU] Do not assume a default GCN target
Differential Revision: https://reviews.llvm.org/D66246
llvm-svn: 368917
Marshall Clow [Wed, 14 Aug 2019 20:54:56 +0000 (20:54 +0000)]
Fix thread comparison by making sure we never pass our special 'not a thread' value to the underlying implementation. Fixes PR#42918.
llvm-svn: 368916
Diego Trevino Ferrer [Wed, 14 Aug 2019 20:34:12 +0000 (20:34 +0000)]
[Bugpoint redesign] Reduced scope of variables in Delta implementation
Summary: This diff also changed the check in `Delta.cpp` to verify interesting-ness, so it exits when the input isn't interesting
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66251
llvm-svn: 368915
Louis Dionne [Wed, 14 Aug 2019 20:27:56 +0000 (20:27 +0000)]
[libc++] Mark <chrono> test as unsupported on AppleClang 9
llvm-svn: 368914
Sanjay Patel [Wed, 14 Aug 2019 20:21:30 +0000 (20:21 +0000)]
[x86] add tests for fadd reduction; NFC
More coverage for D66236.
llvm-svn: 368913
Diego Astiazaran [Wed, 14 Aug 2019 20:19:33 +0000 (20:19 +0000)]
[clang-doc] Add missing check in tests
Path is now checked when comparing two Infos in the unit tests.
Differential Revision: https://reviews.llvm.org/D66124
llvm-svn: 368912
Louis Dionne [Wed, 14 Aug 2019 20:17:18 +0000 (20:17 +0000)]
[libc++] Mark std::tuple CTAD test as failing on AppleClang 9
Like CTAD for std::unordered_set, AppleClang 9's support for CTAD is
insufficient. I suspect the corresponding LLVM Clang is broken too,
but we don't seem to have testers using that Clang.
llvm-svn: 368911
JF Bastien [Wed, 14 Aug 2019 20:13:49 +0000 (20:13 +0000)]
Use std::is_final directly
The workaround isn't needed anymore because all toolchains should support it.
llvm-svn: 368910
JF Bastien [Wed, 14 Aug 2019 19:59:05 +0000 (19:59 +0000)]
SwapByteOrder.h: don't check for unsupported GCC versions
llvm-svn: 368909
JF Bastien [Wed, 14 Aug 2019 19:57:21 +0000 (19:57 +0000)]
MathExtras.h: don't check for unsupported GCC versions
llvm-svn: 368908
Erich Keane [Wed, 14 Aug 2019 19:55:59 +0000 (19:55 +0000)]
Add support in CMake to statically link the C++ standard library.
It is sometimes useful to have the C++ standard library linked into the
assembly when compiling clang, particularly when distributing a compiler
onto systems that don't have a copy of stdlibc++ or libc++ installed.
This functionality should work with either GCC or Clang as the host
compiler, though statically linking libc++ (as may be required for
licensing purposes) is only possible if the host compiler is Clang with
a copy of libc++ available.
Differential Revision: https://reviews.llvm.org/D65603
llvm-svn: 368907
Dinar Temirbulatov [Wed, 14 Aug 2019 19:46:50 +0000 (19:46 +0000)]
[SLP][NFC] Use pointers to address to ScalarToTreeEntry elements, instead of indexes.
llvm-svn: 368906
Sanjay Patel [Wed, 14 Aug 2019 19:46:15 +0000 (19:46 +0000)]
[SDAG] move variable closer to use; NFC
llvm-svn: 368905
Jordan Rupprecht [Wed, 14 Aug 2019 19:31:56 +0000 (19:31 +0000)]
[lldb][NFC] Remove unused function
llvm-svn: 368904
Alexey Bataev [Wed, 14 Aug 2019 19:30:06 +0000 (19:30 +0000)]
[OPENMP]Support for non-rectangular loops.
Added basic support for non-rectangular loops. It requires an additional
analysis of min/max boundaries for non-rectangular loops. Since only
linear dependency is allowed, we can do this analysis.
llvm-svn: 368903
JF Bastien [Wed, 14 Aug 2019 19:19:41 +0000 (19:19 +0000)]
Revert "Un-break the bots"
Looks like the problem was due to the cmake cache, Chris fixed in r368897.
llvm-svn: 368902
Matt Arsenault [Wed, 14 Aug 2019 19:09:48 +0000 (19:09 +0000)]
AMDGPU: Reduce number of registers in test
Once the failure this is testing is fixed, this would fail due to
using too many registers.
llvm-svn: 368901
Jinsong Ji [Wed, 14 Aug 2019 19:06:59 +0000 (19:06 +0000)]
[PowerPC][NFC] Remove duplicate tests in build-vector-test.ll
AllOnes has been split into build-vector-allones.ll.
llvm-svn: 368900
Jan Korous [Wed, 14 Aug 2019 18:30:18 +0000 (18:30 +0000)]
[Support][NFC] Fix error message for posix_spawn_file_actions_addopen failed call
Seems like a copy-paste from couple lines above.
llvm-svn: 368899
Philip Reames [Wed, 14 Aug 2019 18:27:57 +0000 (18:27 +0000)]
[RLEV] Rewrite loop exit values for multiple exit loops w/o overall loop exit count
We already supported rewriting loop exit values for multiple exit loops, but if any of the loop exits were not computable, we gave up on all loop exit values. This patch generalizes the existing code to handle individual computable loop exits where possible.
As discussed in the review, this is a starting point for figuring out a better API. The code is a bit ugly, but getting it in lets us test as we go.
Differential Revision: https://reviews.llvm.org/D65544
llvm-svn: 368898
Chris Bieneman [Wed, 14 Aug 2019 18:26:37 +0000 (18:26 +0000)]
[CMake] Fix cache invalidation of LLVM_CXX_STD
This cleans up fallout from https://reviews.llvm.org/D66195.
llvm-svn: 368897
JF Bastien [Wed, 14 Aug 2019 18:17:06 +0000 (18:17 +0000)]
Un-break the bots
Some bots can't find is_final despite it being in C++14. Leave the code as it was for now, fix it later when the bots are happy.
llvm-svn: 368896
Matt Arsenault [Wed, 14 Aug 2019 18:13:00 +0000 (18:13 +0000)]
InferAddressSpaces: Move target intrinsic handling to TTI
I'm planning on handling intrinsics that will benefit from checking
the address space enums. Don't bother moving the address collection
for now, since those won't need th enums.
llvm-svn: 368895
Matt Arsenault [Wed, 14 Aug 2019 18:01:42 +0000 (18:01 +0000)]
InferAddressSpaces: Remove unnecessary check for ConstantInt
The IR is invalid if this isn't a constant since immarg was added.
llvm-svn: 368893
JF Bastien [Wed, 14 Aug 2019 18:01:11 +0000 (18:01 +0000)]
Match if / elseif properly
My last commit fumbled it.
llvm-svn: 368892
Taewook Oh [Wed, 14 Aug 2019 17:58:45 +0000 (17:58 +0000)]
[DebugInfo] Consider debug label scope has an extra lexical block file
Summary: There are places where a case that debug label scope has an extra lexical block file is not considered properly. The modified test won't pass without this patch.
Reviewers: aprantl, HsiangKai
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66187
llvm-svn: 368891
JF Bastien [Wed, 14 Aug 2019 17:57:20 +0000 (17:57 +0000)]
Remove now useless C++1y flag
As of D66195 we support C++14 by default.
llvm-svn: 368890
JF Bastien [Wed, 14 Aug 2019 17:48:36 +0000 (17:48 +0000)]
Don't explicitly check for C++14
MSVC is weird about __cplusplus. The check I added in D66195 confuses it.
llvm-svn: 368889
Simon Pilgrim [Wed, 14 Aug 2019 17:41:37 +0000 (17:41 +0000)]
Fix cppcheck + MSVC analyzer uninitialized member variable warning. NFCI.
llvm-svn: 368888
JF Bastien [Wed, 14 Aug 2019 17:39:07 +0000 (17:39 +0000)]
Move to C++14
Summary:
I just bumped the minimum compiler versions to support C++14 in D66188.
Following [our process](http://llvm.org/docs/DeveloperPolicy.html#toolchain) and [our previous agreement](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html), I'm now officially bumping the C++ version to 14 and updating the documentation.
Subscribers: mgorny, jkorous, dexonsmith, llvm-commits, chandlerc, thakis, EricWF, jyknight, lhames, JDevlieghere
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66195
llvm-svn: 368887
Roman Lebedev [Wed, 14 Aug 2019 17:27:50 +0000 (17:27 +0000)]
[InstCombine][NFC] Tests for 'try to reuse constant from select in comparison'
https://rise4fun.com/Alive/THl
llvm-svn: 368886
Zoe Carver [Wed, 14 Aug 2019 17:19:25 +0000 (17:19 +0000)]
This commit removes std::shared_ptr::make_shared and std::shared_ptr::allocate_shared as they are not part of the standard. This commit also adds the helper function "__create_with_cntrl_block" which std::allocate_shared and std::make_shared have been updated to use.
llvm-svn: 368885
David Bolvansky [Wed, 14 Aug 2019 17:15:20 +0000 (17:15 +0000)]
[SLC] Dereferenceable annonation - handle valid null pointers
Reviewers: jdoerfert, reames
Reviewed By: jdoerfert
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66161
llvm-svn: 368884
Kristof Umann [Wed, 14 Aug 2019 17:05:55 +0000 (17:05 +0000)]
[CFG] Introduce CFGElementRef, a wrapper that knows it's position in a CFGBlock
Previously, collecting CFGElements in a set was practially impossible, because
both CFGBlock::operator[] and both the iterators returned it by value. One
workaround would be to collect the iterators instead, but they don't really
capture the concept of an element, and elements from different iterator types are incomparable.
This patch introduces CFGElementRef, a wrapper around a (CFGBlock, Index) pair,
and a variety of new iterators and iterator ranges to solve this problem.
I guess you could say that this patch took a couple iterations to get right :^)
Differential Revision: https://reviews.llvm.org/D65196
llvm-svn: 368883
Louis Dionne [Wed, 14 Aug 2019 17:04:31 +0000 (17:04 +0000)]
[libc++] Enable <chrono> ""d and ""y literals for AppleClang 10 and up
AppleClang supports those literals starting in version 10.0.1.
llvm-svn: 368882
Puyan Lotfi [Wed, 14 Aug 2019 17:02:21 +0000 (17:02 +0000)]
[NFC][clang] Moving argument handling: Driver::BuildActions -> handleArguments
This patch simply moves code that already exists into a new function.
Specifically I think it will make the BuildActions code for building a clang
job pipeline easier to read and work with.
Differential Revision: https://reviews.llvm.org/D66058
llvm-svn: 368881
Louis Dionne [Wed, 14 Aug 2019 17:01:08 +0000 (17:01 +0000)]
[libc++] Do not define _LIBCPP_CLANG_VER for non-LLVM Clang
In r292833, we started defining _LIBCPP_CLANG_VER to 0 for Apple Clang.
The result is that AppleClang is detected as being a very old version
of LLVM Clang (version 0), which is obviously incorrect.
I believe this was added so that we don't have to check whether
_LIBCPP_CLANG_VER is defined prior to comparing it with a number
(which can trigger a warning). This commit also fixes the two
places that use the macro correspondingly.
llvm-svn: 368880
Jonas Devlieghere [Wed, 14 Aug 2019 17:00:10 +0000 (17:00 +0000)]
[DebugLine] Improve path handling.
After switching over LLDB's line table parser to libDebugInfo, we
noticed two regressions on the Windows bot. The problem is that when
obtaining a file from the line table prologue, we append paths without
specifying a path style. This leads to incorrect results on Windows for
debug info containing Posix paths:
0x0000000000201000: /tmp\b.c, is_start_of_statement = TRUE
This patch is an attempt to fix that by guessing the path style whenever
possible.
Differential revision: https://reviews.llvm.org/D66227
llvm-svn: 368879
Erik Pilkington [Wed, 14 Aug 2019 16:57:11 +0000 (16:57 +0000)]
[Sema][ObjC] Fix a -Wformat false positive with localizedStringForKey
Only honour format_arg attributes on -[NSBundle localizedStringForKey] when its
argument has a format specifier in it, otherwise its likely to just be a key to
fetch localized strings.
Fixes rdar://
23622446
Differential revision: https://reviews.llvm.org/D27165
llvm-svn: 368878
Simon Pilgrim [Wed, 14 Aug 2019 16:55:34 +0000 (16:55 +0000)]
Fix cppcheck + MSVC analyzer uninitialized member variable warning. NFCI.
llvm-svn: 368877
David Bolvansky [Wed, 14 Aug 2019 16:50:34 +0000 (16:50 +0000)]
[NFC] Updated tests after r368875
llvm-svn: 368876
David Bolvansky [Wed, 14 Aug 2019 16:50:06 +0000 (16:50 +0000)]
[BuildLibCalls] Noalias annotation
Summary: I think this is better solution than annotating callsites in IC/SLC.
Reviewers: jdoerfert
Reviewed By: jdoerfert
Subscribers: MaskRay, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66217
llvm-svn: 368875
Chris Bieneman [Wed, 14 Aug 2019 16:49:52 +0000 (16:49 +0000)]
Document clang-cpp in the release notes for clang
This patch adds a line in the release notes about the new clang-cpp library and the CMake option to force clang to link against it.
llvm-svn: 368874
Bill Wendling [Wed, 14 Aug 2019 16:44:07 +0000 (16:44 +0000)]
Ignore indirect branches from callbr.
Summary:
We can't speculate around indirect branches: indirectbr and invoke. The
callbr instruction needs to be included here.
Reviewers: nickdesaulniers, manojgupta, chandlerc
Reviewed By: chandlerc
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66200
llvm-svn: 368873
Aaron Smith [Wed, 14 Aug 2019 16:39:41 +0000 (16:39 +0000)]
Add missing NativeProcessFactory for lldb-server on Windows
llvm-svn: 368872
Gabor Horvath [Wed, 14 Aug 2019 16:34:56 +0000 (16:34 +0000)]
[LifetimeAnalysis] Fix false negatives of statement local lifetime analysis for some STL implementation
Differential Revision: https://reviews.llvm.org/D66152
llvm-svn: 368871
Simon Atanasyan [Wed, 14 Aug 2019 16:27:07 +0000 (16:27 +0000)]
[mips] Remove redundant case in the test. NFC
llvm-svn: 368870
Simon Atanasyan [Wed, 14 Aug 2019 16:27:00 +0000 (16:27 +0000)]
[mips] Split long lines in the test case file. NFC
llvm-svn: 368869
Thomas Lively [Wed, 14 Aug 2019 16:24:37 +0000 (16:24 +0000)]
[WebAssembly] Stop unrolling SIMD shifts since they are fixed in V8
Summary:
Fixes PR42973. Tests don't change because simd-arith.ll tests behavior
on unimplemented-simd128, which does not include any temporary
workarounds such as the one removed in this revision.
Reviewers: aheejin
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, dmgreen, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66166
llvm-svn: 368868
Marshall Clow [Wed, 14 Aug 2019 16:21:27 +0000 (16:21 +0000)]
Rework recursive_timed_mutex so that it uses __thread_id instead of using the lower-level __libcpp_thread_id. This is prep for fixing PR42918. Reviewed as https://reviews.llvm.org/D65895
llvm-svn: 368867
Kostya Kortchinsky [Wed, 14 Aug 2019 16:04:01 +0000 (16:04 +0000)]
[scudo][standalone] Add more stats to mallinfo
Summary:
Android requires additional stats in mallinfo. While we can provide
right away the number of bytes mapped (Primary+Secondary), there was
no way to get the number of free bytes (only makes sense for the
Primary since the Secondary unmaps everything on deallocation).
An approximation could be `StatMapped - StatAllocated`, but since we
are mapping in `1<<17` increments for the 64-bit Primary, it's fairly
inaccurate.
So we introduce `StatFree` (note it's `Free`, not `Freed`!), which
keeps track of the amount of Primary blocks currently unallocated.
Reviewers: cferris, eugenis, vitalybuka, hctim, morehouse
Reviewed By: morehouse
Subscribers: delcypher, #sanitizers, llvm-commits
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D66112
llvm-svn: 368866
Simon Pilgrim [Wed, 14 Aug 2019 16:03:37 +0000 (16:03 +0000)]
Fix cppcheck + MSVC analyzer uninitialized member variable warning. NFCI.
llvm-svn: 368865
Craig Topper [Wed, 14 Aug 2019 15:57:29 +0000 (15:57 +0000)]
[X86] Use PSADBW for v8i8 addition reductions.
Improves the 8 byte case from PR42674.
Differential Revision: https://reviews.llvm.org/D66069
llvm-svn: 368864
David Bolvansky [Wed, 14 Aug 2019 15:35:40 +0000 (15:35 +0000)]
[NFC] Fix testcase for ARMs
llvm-svn: 368863
Yitzhak Mandelbaum [Wed, 14 Aug 2019 15:20:06 +0000 (15:20 +0000)]
[libTooling] Fix code to avoid unused-function warning after r368681.
llvm-svn: 368862
Craig Topper [Wed, 14 Aug 2019 15:10:37 +0000 (15:10 +0000)]
[LangRef] Remove opening [ that was missing a closing ] from call/callbr/invoke syntax.
It looks like this bracket was added when the addrspace was added.
before it. So I think it can jut be removed.
llvm-svn: 368861
Xiangling Liao [Wed, 14 Aug 2019 14:57:25 +0000 (14:57 +0000)]
[NFC][AIX] Change assertion
Address one left comment on https://reviews.llvm.org/D63547. A minor
change for assertion.
Differential Revision: https://reviews.llvm.org/D63547
llvm-svn: 368860
Jinsong Ji [Wed, 14 Aug 2019 14:53:05 +0000 (14:53 +0000)]
[PowerPC][NFC] Add test for build all one vector with different types.
build-vector-tests.ll is far too big, split such type tests for single
buildvector into new file.
llvm-svn: 368859
Craig Topper [Wed, 14 Aug 2019 14:52:39 +0000 (14:52 +0000)]
[X86][CostModel] Adjust the costs of ZERO_EXTEND/SIGN_EXTEND with less than 128-bit inputs
Now that we legalize by widening, the element types here won't change. Previously these were modeled as the elements being widened and then the instruction might become an AND or SHL/ASHR pair. But now they'll become something like a ZERO_EXTEND_VECTOR_INREG/SIGN_EXTEND_VECTOR_INREG.
For AVX2, when the destination type is legal its clear the cost should be 1 since we have extend instructions that can produce 256 bit vectors from less than 128 bit vectors. I'm a little less sure about AVX1 costs, but I think the ones I changed were definitely too high, but they might still be too high.
Differential Revision: https://reviews.llvm.org/D66169
llvm-svn: 368858
Craig Topper [Wed, 14 Aug 2019 14:51:19 +0000 (14:51 +0000)]
[X86] Add llvm_unreachable to a switch that covers all expected values.
llvm-svn: 368857
Jinsong Ji [Wed, 14 Aug 2019 14:16:26 +0000 (14:16 +0000)]
[PowerPC][NFC] Consolidate duplicate XX3Form_SetZero and XX3Form_Zero.
Rename one to XX3Form_SameOp, remove the other one.
llvm-svn: 368856
Jason Liu [Wed, 14 Aug 2019 14:13:11 +0000 (14:13 +0000)]
[AIX] Add call lowering for parameters that could pass onto FPRs
Summary:
This patch adds call lowering functionality to enable passing
parameters onto floating point registers when needed.
Differential Revision: https://reviews.llvm.org/D63654
llvm-svn: 368855
Pavel Labath [Wed, 14 Aug 2019 13:59:04 +0000 (13:59 +0000)]
Revert "raw_ostream: add operator<< overload for std::error_code"
This reverts commit r368849, because it breaks some bots (e.g.
llvm-clang-x86_64-win-fast).
It turns out this is not as NFC as we had hoped, because operator== will
consider two std::error_codes to be distinct even though they both hold
"success" values if they have different categories.
llvm-svn: 368854
Kristof Umann [Wed, 14 Aug 2019 13:51:52 +0000 (13:51 +0000)]
[analyzer][NFC] Prove that we only track the evaluated part of the condition
...because we're working with a BugReporterVisitor, and the non-evaluated part
of the condition isn't in the bugpath.
Differential Revision: https://reviews.llvm.org/D65290
llvm-svn: 368853
Aaron Smith [Wed, 14 Aug 2019 13:49:52 +0000 (13:49 +0000)]
Add missing SetID method to fix Windows build
llvm-svn: 368852
Haojian Wu [Wed, 14 Aug 2019 13:38:52 +0000 (13:38 +0000)]
[clangd][vscode] Surface the error when applying tweaks fails
Summary:
The current behavior for a failed request is just to log it in the
output panel. When applyTweak fails for whatever reason, users usually don't get
informed (unless they open the output panel and dig the log).
this patch is to surface these errors by prompting up a message diag.
Reviewers: ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66211
llvm-svn: 368851
Shaurya Gupta [Wed, 14 Aug 2019 13:37:39 +0000 (13:37 +0000)]
[Tooling] Added DeclStmtClass to ExtractionSemicolonPolicy
Since the DeclStmt range includes the semicolon, it doesn't need a
semicolon at the end during extraction
llvm-svn: 368850
Pavel Labath [Wed, 14 Aug 2019 13:33:28 +0000 (13:33 +0000)]
raw_ostream: add operator<< overload for std::error_code
Summary:
The main motivation for this is unit tests, which contain a large macro
for pretty-printing std::error_code, and this macro is duplicated in
every file that needs to do this. However, the functionality may be
useful elsewhere too.
In this patch I have reimplemented the existing ASSERT_NO_ERROR macros
to reuse the new functionality, but I have kept the macro (as a
one-liner) as it is slightly more readable than ASSERT_EQ(...,
std::error_code()).
Reviewers: sammccall, ilya-biryukov
Subscribers: zturner, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65643
llvm-svn: 368849
Roman Lebedev [Wed, 14 Aug 2019 13:10:59 +0000 (13:10 +0000)]
[SimplifyCFG] Add "safe abs" test from CMSIS DSP 'abs_with_clamp()'
With -phi-node-folding-threshold=3
this branch would get flattened into select.
See https://reviews.llvm.org/D65148#1629010
llvm-svn: 368847
Fangrui Song [Wed, 14 Aug 2019 12:56:30 +0000 (12:56 +0000)]
[ELF] --gdb-index: fix odd variable name cUs after r365730 and replace lower_bound with partition_point. NFC
llvm-svn: 368845
Ilya Biryukov [Wed, 14 Aug 2019 12:51:04 +0000 (12:51 +0000)]
[clangd] Print qualifiers of out-of-line definitions in document outline
Summary: To improve the UX around navigating and searching through the results.
Reviewers: hokein
Reviewed By: hokein
Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66215
llvm-svn: 368842
Shaurya Gupta [Wed, 14 Aug 2019 12:40:09 +0000 (12:40 +0000)]
[Clangd] NFC: Fixed comment typo
llvm-svn: 368841
Nico Weber [Wed, 14 Aug 2019 12:38:43 +0000 (12:38 +0000)]
gn build: Pre-merge https://reviews.llvm.org/D66195
llvm-svn: 368840
Simon Pilgrim [Wed, 14 Aug 2019 12:36:23 +0000 (12:36 +0000)]
[X86] Add missing regular 512-bit vXi8 extract subvector cost model tests
These tests don't cover many cases where the subvectors don't start on aligned indices, but that can be added later.
llvm-svn: 368839
Pavel Labath [Wed, 14 Aug 2019 12:26:51 +0000 (12:26 +0000)]
Revert "Minidump/Windows: Fix module lookup"
Although there is nothing wrong with this patch, the test added here
uncovers a problem in other parts of the code which cause the test to
fail when running under asan. Reverting the patch until I can fix the
underlying issue(s).
This reverts commit r368416.
llvm-svn: 368838
Fangrui Song [Wed, 14 Aug 2019 12:20:21 +0000 (12:20 +0000)]
[ELF][test] Update silent-ignore.test
Some options are implemented now:
--no-warn-common : r263413
--allow-shlib-undefined : r352826
Some are ignored but were not reflected in this test.
llvm-svn: 368837
Kristof Umann [Wed, 14 Aug 2019 12:20:08 +0000 (12:20 +0000)]
[analyzer][CFG] Don't track the condition of asserts
Well, what is says on the tin I guess!
Some more changes:
* Move isInevitablySinking() from BugReporter.cpp to CFGBlock's interface
* Rename and move findBlockForNode() from BugReporter.cpp to
ExplodedNode::getCFGBlock()
Differential Revision: https://reviews.llvm.org/D65287
llvm-svn: 368836
Jeremy Morse [Wed, 14 Aug 2019 12:20:02 +0000 (12:20 +0000)]
[DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block
MCP currently uses changeDebugValuesDefReg / collectDebugValues to find
debug users of a register, however those functions assume that all
DBG_VALUEs immediately follow the specified instruction, which isn't
necessarily true. This is going to become very often untrue when we turn
off CodeGenPrepare::placeDbgValues.
Instead of calling changeDebugValuesDefReg on an instruction to change its
debug users, in this patch we instead collect DBG_VALUEs of copies as we
iterate over insns, and update the debug users of copies that are made
dead. This isn't a non-functional change, because MCP will now update
DBG_VALUEs that aren't immediately after a copy, but refer to the same
register. I've hijacked the regression test for PR38773 to test for this
new behaviour, an entirely new test seemed overkill.
Differential Revision: https://reviews.llvm.org/D56265
llvm-svn: 368835
Johan Vikstrom [Wed, 14 Aug 2019 12:11:58 +0000 (12:11 +0000)]
[clangd] Loading TokenColorRules as a class mapping the rules to their associated clangd TextMate scope index.
Summary: Loads a mapping of the clangd scope lookup table scopes to the most specific rule with the highest "precedence" on initialize. Preprocesses into a class so it's simple/fast to access when doing the actual coloring later.
Reviewers: hokein, ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65856
llvm-svn: 368834
Fangrui Song [Wed, 14 Aug 2019 11:38:45 +0000 (11:38 +0000)]
[IR] Simplify removeDeadConstantUsers. NFC
llvm-svn: 368833
Dmitri Gribenko [Wed, 14 Aug 2019 11:35:04 +0000 (11:35 +0000)]
Removed ToolExecutor::isSingleProcess, it is not used by anything
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66212
llvm-svn: 368832
Simon Pilgrim [Wed, 14 Aug 2019 11:31:05 +0000 (11:31 +0000)]
Fix "not all control paths return a value" MSVC warnings. NFCI.
llvm-svn: 368831
Simon Pilgrim [Wed, 14 Aug 2019 11:29:56 +0000 (11:29 +0000)]
Fix "not all control paths return a value" MSVC warning. NFCI.
llvm-svn: 368830
Simon Pilgrim [Wed, 14 Aug 2019 11:29:16 +0000 (11:29 +0000)]
Fix "not all control paths return a value" MSVC warnings. NFCI.
llvm-svn: 368829
David Bolvansky [Wed, 14 Aug 2019 11:13:10 +0000 (11:13 +0000)]
[NFC] Make test more robust
Currently fails on ARMs
llvm-svn: 368828
Dmitri Gribenko [Wed, 14 Aug 2019 11:11:52 +0000 (11:11 +0000)]
Improved the doc comment for getCommentsInFile
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66209
llvm-svn: 368827
George Rimar [Wed, 14 Aug 2019 11:10:11 +0000 (11:10 +0000)]
Recommit r368812 "[llvm/Object] - Convert SectionRef::getName() to return Expected<>"
Changes: no changes. A fix for the clang code will be landed right on top.
Original commit message:
SectionRef::getName() returns std::error_code now.
Returning Expected<> instead has multiple benefits.
For example, it forces user to check the error returned.
Also Expected<> may keep a valuable string error message,
what is more useful than having a error code.
(Object\invalid.test was updated to show the new messages printed.)
This patch makes a change for all users to switch to Expected<> version.
Note: in a few places the error returned was ignored before my changes.
In such places I left them ignored. My intention was to convert the interface
used, and not to improve and/or the existent users in this patch.
(Though I think this is good idea for a follow-ups to revisit such places
and either remove consumeError calls or comment each of them to clarify why
it is OK to have them).
Differential revision: https://reviews.llvm.org/D66089
llvm-svn: 368826
George Rimar [Wed, 14 Aug 2019 11:10:01 +0000 (11:10 +0000)]
[clang] - An update after LLVM change.
SectionRef::getName() was changed to return Expected<> (D66089)
llvm-svn: 368825
Ilya Biryukov [Wed, 14 Aug 2019 10:49:32 +0000 (10:49 +0000)]
[clangd] Fix typos and grammar in a comment. NFC
llvm-svn: 368824
Fangrui Song [Wed, 14 Aug 2019 10:30:27 +0000 (10:30 +0000)]
[AsmPrinter] Delete redundant .type foo, @function when emitting an ifunc
In MCAsmStreamer:
.type foo,@function # <--- this is redundant
.type foo,@gnu_indirect_function
In MCELFStreamer, the latter STT_GNU_IFUNC overrides STT_FUNC.
llvm-svn: 368823
Sven van Haastregt [Wed, 14 Aug 2019 10:30:18 +0000 (10:30 +0000)]
Fix _WIN32 / _WIN64 Wundef warnings
For these macros it is the definedness that matters rather than
the value. Make new uses of these macros consistent with existing
uses.
llvm-svn: 368822
James Henderson [Wed, 14 Aug 2019 10:17:34 +0000 (10:17 +0000)]
[llvm-size][test] Improve llvm-size testing
This patch significantly improves the llvm-size testing. The changes
made are:
1) Change all tests to use yaml2obj instead of assembly or pre-canned
inputs.
2) Move the tests out of the X86 directory, since they don't need to be
there after 1).
3) Increased test coverage.
4) Added comments to explain purpose of tests.
I haven't attempted to add test coverage for all Mach-O related code, as
I am not familiar enough with that file format to be able to.
Reviewers: grimar, MaskRay
Differential Revision: https://reviews.llvm.org/D66134
llvm-svn: 368821
Roman Lebedev [Wed, 14 Aug 2019 09:57:20 +0000 (09:57 +0000)]
[InstCombine] Refactor getFlippedStrictnessPredicateAndConstant() out of canonicalizeCmpWithConstant(), NFCI
I'd like to use it elsewhere, hopefully without reinventing the wheel.
No functional change intended so far.
llvm-svn: 368820
Balazs Keri [Wed, 14 Aug 2019 09:41:39 +0000 (09:41 +0000)]
[ASTImporter] Import default expression of param before creating the param.
Summary:
The default expression of a parameter variable should be imported before
the parameter variable object is created. Otherwise the function is created
with an incomplete parameter variable (default argument is nullptr) and in
this intermediary state the expression is imported. This import can have
a reference to the incomplete parameter variable that causes crash.
Reviewers: martong, a.sidorin, shafik
Reviewed By: martong
Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65577
llvm-svn: 368818
Kristof Umann [Wed, 14 Aug 2019 09:39:38 +0000 (09:39 +0000)]
[analyzer] Note last writes to a condition only in a nested stackframe
Exactly what it says on the tin! The comments in the code detail this a
little more too.
Differential Revision: https://reviews.llvm.org/D64272
llvm-svn: 368817
Martin Storsjo [Wed, 14 Aug 2019 09:35:44 +0000 (09:35 +0000)]
[MinGW] Correct handling different forms of a few options
Support the equals form of the long --entry=<symbol> option,
add a test for the -e<symbol> form.
Add tests for single dash forms of -exclude-all-symbols and
-export-all-symbols.
Support single-dash forms of -out-implib and -output-def, support
the equals form of --output-def=<file>. (We previously had a test
to explicitly disallow -out-implib, but it turns out that GNU ld
actually does support it just fine, despite also matching the
-o<file> option.)
Disallow the double-dashed --u form, add a test for -u<symbol>.
Differential Revision: https://reviews.llvm.org/D66066
llvm-svn: 368816
Martin Storsjo [Wed, 14 Aug 2019 09:35:40 +0000 (09:35 +0000)]
[MinGW] Restructure Options.td to use multiclass where sensible. NFC.
Differential Revision: https://reviews.llvm.org/D66065
llvm-svn: 368815
Martin Storsjo [Wed, 14 Aug 2019 09:35:36 +0000 (09:35 +0000)]
[MinGW] Remove stray/inconsistent comment chars in test file. NFC.
Test directives don't need to be in comments in this file.
llvm-svn: 368814
George Rimar [Wed, 14 Aug 2019 08:56:55 +0000 (08:56 +0000)]
Revert r368812 "[llvm/Object] - Convert SectionRef::getName() to return Expected<>"
It broke clang BB: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/16455
llvm-svn: 368813
George Rimar [Wed, 14 Aug 2019 08:46:54 +0000 (08:46 +0000)]
[llvm/Object] - Convert SectionRef::getName() to return Expected<>
SectionRef::getName() returns std::error_code now.
Returning Expected<> instead has multiple benefits.
For example, it forces user to check the error returned.
Also Expected<> may keep a valuable string error message,
what is more useful than having a error code.
(Object\invalid.test was updated to show the new messages printed.)
This patch makes a change for all users to switch to Expected<> version.
Note: in a few places the error returned was ignored before my changes.
In such places I left them ignored. My intention was to convert the interface
used, and not to improve and/or the existent users in this patch.
(Though I think this is good idea for a follow-ups to revisit such places
and either remove consumeError calls or comment each of them to clarify why
it is OK to have them).
Differential revision: https://reviews.llvm.org/D66089
llvm-svn: 368812