Antonio Maiorano [Tue, 17 Jan 2017 00:13:32 +0000 (00:13 +0000)]
Update tools to use new getStyle API
Depends on https://reviews.llvm.org/D28081
Differential Revision: https://reviews.llvm.org/D28315
llvm-svn: 292175
Antonio Maiorano [Tue, 17 Jan 2017 00:12:27 +0000 (00:12 +0000)]
clang-format: Make GetStyle return Expected<FormatStyle> instead of FormatStyle
Change the contract of GetStyle so that it returns an error when an error occurs
(i.e. when it writes to stderr), and only returns the fallback style when it
can't find a configuration file.
Differential Revision: https://reviews.llvm.org/D28081
llvm-svn: 292174
Matt Arsenault [Tue, 17 Jan 2017 00:10:43 +0000 (00:10 +0000)]
AMDGPU: Remove dead pattern
This is the unsafe conversion pattern, but not guarded by
an unsafe math check. It is also already done in LegalizeDAG.
llvm-svn: 292173
Matt Arsenault [Tue, 17 Jan 2017 00:10:40 +0000 (00:10 +0000)]
SimplifyLibCalls: Replace fabs libcalls with intrinsics
Add missing fabs(fpext) optimzation that worked with the call,
and also fixes it creating a second fpext when there were multiple
uses.
llvm-svn: 292172
Davide Italiano [Mon, 16 Jan 2017 23:28:58 +0000 (23:28 +0000)]
[Object] Fixup permissions of input files.
They just need to be read/dumped, so no need to set the exec
bit on any of them. NFCI, I guess.
llvm-svn: 292171
Davide Italiano [Mon, 16 Jan 2017 23:13:46 +0000 (23:13 +0000)]
[llvm-objdump] Dump PT_NOTE as part of -p.
PR: 31641
llvm-svn: 292170
Davide Italiano [Mon, 16 Jan 2017 22:58:26 +0000 (22:58 +0000)]
[llvm-objdump] Dump PT_GNU_RELRO as part of -p.
PR: 31641
llvm-svn: 292169
Eli Friedman [Mon, 16 Jan 2017 22:54:29 +0000 (22:54 +0000)]
Tidy up getFirstNonBoxedLoopFor [NFC]
Move the function getFirstNonBoxedLoopFor which is used in ScopBuilder
and in ScopInfo to Support/ScopHelpers to make it reusable in other
locations. No functionality change.
Patch by Sameer Abu Asal.
Differential Revision: https://reviews.llvm.org/D28754
llvm-svn: 292168
Davide Italiano [Mon, 16 Jan 2017 22:01:41 +0000 (22:01 +0000)]
[llvm-objdump] Dump PT_OPENBSD_{BOOTDATA,RANDOMIZE,WXNEEDED}.
PR: 31641
llvm-svn: 292167
David Blaikie [Mon, 16 Jan 2017 21:40:08 +0000 (21:40 +0000)]
Add missing header to see if that clears up the build
llvm-svn: 292166
Simon Pilgrim [Mon, 16 Jan 2017 21:34:22 +0000 (21:34 +0000)]
[InstCombine][AVX] Tests showing missed opportunities to pass demanded elts through a permilpd/permilps shuffle mask
llvm-svn: 292165
Sanjay Patel [Mon, 16 Jan 2017 21:24:41 +0000 (21:24 +0000)]
[InstCombine] use m_APInt instead of faking it
llvm-svn: 292164
David Blaikie [Mon, 16 Jan 2017 21:20:51 +0000 (21:20 +0000)]
Attempt to fix the MSVC build by using llvm::errc instead of std::errc
llvm-svn: 292163
Jan Vesely [Mon, 16 Jan 2017 21:20:13 +0000 (21:20 +0000)]
ADMGPU/EG,CM: Implement _noret global atomics
_RTN versions will be a lot more complicated
Differential Revision: https://reviews.llvm.org/D28067
llvm-svn: 292162
Simon Atanasyan [Mon, 16 Jan 2017 21:17:23 +0000 (21:17 +0000)]
[ELF][MIPS] Exclude mips .got from PT_GNU_RELRO segment
On MIPS .got section cannot be included into the PT_GNU_RELRO segment.
Sometimes it might work, but in general it is unsupported. One of the
problem is that all sections marked by SHF_MIPS_GPREL should be grouped
together because data in these sections is addressable with a gp
relative address, but such sections might be writable.
This patch exclude mips .got from PT_GNU_RELRO segment and group
SHF_MIPS_GPREL sections.
llvm-svn: 292161
Simon Atanasyan [Mon, 16 Jan 2017 21:17:09 +0000 (21:17 +0000)]
[ELF][MIPS] Remove redundant checkings from test cases. NFC
llvm-svn: 292160
Eric Fiselier [Mon, 16 Jan 2017 21:15:08 +0000 (21:15 +0000)]
Fix std::tuples EBO when targeting the MSVC ABI.
MSVC/clang-cl doesn't do a full EBO unless __declspec(empty_bases)
is applied to the derived type. This causes certain tuple tests
to fail.
This patch adds the empty_bases attribute to __tuple_impl in order
for tuple to fully provide the EBO.
llvm-svn: 292159
Eric Fiselier [Mon, 16 Jan 2017 21:01:00 +0000 (21:01 +0000)]
[libc++] Introduce _LIBCPP_EXTERN_VIS to fix __libcpp_debug_function link errors
Summary: On Windows tests that use `_LIBCPP_ASSERT` fail to link because the assertion handler function isn't correctly exported from the libc++ dylib. This patch fixes the dll import/export issues by introducing a new visibility macro `_LIBCPP_EXTERN_VIS` for use on external variables.
Reviewers: compnerd, smeenai, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28728
llvm-svn: 292158
Eric Fiselier [Mon, 16 Jan 2017 20:47:35 +0000 (20:47 +0000)]
Improve CMake and LIT support for Windows
This patch contains multiple cleanups and fixes to better support building on
Windows.
* [Test] Fix handling of library runtime search paths by correctly adding them
to the PATH variable when running the tests.
* [Test] Don't explicitly force "--target=i686-pc-windows" when running the
test suite. Clang++ seems to deduce the correct target.
* [Test] Fix `.sh.cpp` tests on Windows by properly escaping flags used in
shell commands. Specifically windows style paths which included spaces
were causing these tests to fail.
* [CMake] Add "vcruntime" to the list of supported C++ ABI libraries in CMake, and
teach the test suite how to handle it. For now libc++ defaults to using
"vcruntime" on Windows except when libc++abi is in tree; That is probably
a bug and should be changed to always use vcruntime, at least for now.
* [Misc] Move the "c++-build" include directory to the libc++ binary dir
instead of the top level project dir and rename it "c++build". This is just
misc cleanup. Libc++ shouldn't be creating internal build files and directories
at the top-level projects root.
* [Misc] Build type_info's destructor when building for MSVC. This is a temporary
work around to prevent link errors until we have a proper type_info
implementation.
llvm-svn: 292157
David Blaikie [Mon, 16 Jan 2017 20:36:26 +0000 (20:36 +0000)]
[XRay] Implement the `llvm-xray graph` subcommand
Here we define the `graph` subcommand which generates a graph from the function
call information and uses it to present the call information graphically with
additional annotations.
Reviewers: dblaikie, dberris
Differential Revision: https://reviews.llvm.org/D27243
llvm-svn: 292156
David Blaikie [Mon, 16 Jan 2017 20:28:59 +0000 (20:28 +0000)]
Attempt to workaround MSVC build issue where I suspect an enum class constant 0 is considered a possible null pointer
I can't reproduce this so far with web compilers, so throwing this at
the bots to see if it sticks.
llvm-svn: 292155
Tony Jiang [Mon, 16 Jan 2017 20:12:26 +0000 (20:12 +0000)]
[PowerPC] Expand ISEL instruction into if-then-else sequence.
Generally, the ISEL is expanded into if-then-else sequence, in some
cases (like when the destination register is the same with the true
or false value register), it may just be expanded into just the if
or else sequence.
llvm-svn: 292154
Sanjay Patel [Mon, 16 Jan 2017 20:05:26 +0000 (20:05 +0000)]
[InstCombine] fix names in canEvaluateShiftedShift(); NFC
It's not clear what 'First' and 'Second' mean, so use 'Inner' and 'Outer'
to match foldShiftedShift() and add comments with formulas, so it's easier
to see what's going on.
llvm-svn: 292153
Eric Fiselier [Mon, 16 Jan 2017 19:52:58 +0000 (19:52 +0000)]
Make sym_check python 3 compatible
llvm-svn: 292152
Sanjay Patel [Mon, 16 Jan 2017 19:35:45 +0000 (19:35 +0000)]
[InstCombine] use m_APInt to allow shift-shift folds for vectors with splat constants
Some existing 'FIXME' tests are still not folded because of splat holes in value tracking.
llvm-svn: 292151
Sanjay Patel [Mon, 16 Jan 2017 19:23:34 +0000 (19:23 +0000)]
[InstCombine] add tests to show missed vector folds; NFC
The shift-shift possibilities became easier to see after:
https://reviews.llvm.org/rL292145
llvm-svn: 292150
David Blaikie [Mon, 16 Jan 2017 18:48:52 +0000 (18:48 +0000)]
PR31650: Refer to enum constant when initializing llvm::None constant
llvm-svn: 292149
Justin Lebar [Mon, 16 Jan 2017 18:39:15 +0000 (18:39 +0000)]
[NVPTX] Add blank line to NVPTXUsage.rst to appease the Sphinx.
Fixes:
Warning, treated as error:
/home/buildbot/llvm-build-dir/llvm-sphinx-docs/llvm/src/docs/NVPTXUsage.rst:333:
ERROR: Error in "code-block" directive:
maximum 1 argument(s) allowed, 17 supplied.
llvm-svn: 292148
Tobias Grosser [Mon, 16 Jan 2017 17:51:28 +0000 (17:51 +0000)]
Add test showing the update of access functions with in-scop defined base ptrs
This feature is currently not supported and an explicit assert to prevent the
introduction of such accesses has been added in r282893. This test case allows
to reproduce the assert (and without the assert the miscompile) added in
r282893. It will help when adding such support at some point.
llvm-svn: 292147
Rafael Espindola [Mon, 16 Jan 2017 17:35:23 +0000 (17:35 +0000)]
Give priority to linker scripts over preemption.
LLD exports symbols that are also present in used shared libraries to
make sure they are preempted at runtime. That is a reasonable default,
but we must allow for it to be overwritten with linker script. If we
don't, libraries that expect to be able to hide a c++ delete operator
will fail.
This should fix the firebird build.
llvm-svn: 292146
Sanjay Patel [Mon, 16 Jan 2017 17:27:50 +0000 (17:27 +0000)]
[InstCombine] refactor shift-of-shift folds; NFCI
Reduces code duplication and makes it easier to extend these folds for vectors.
llvm-svn: 292145
Simon Pilgrim [Mon, 16 Jan 2017 17:26:23 +0000 (17:26 +0000)]
[InstCombine][SSE] Tests showing missed opportunities to pass demanded elts through a packss/packus truncation
llvm-svn: 292144
Pavel Labath [Mon, 16 Jan 2017 16:38:23 +0000 (16:38 +0000)]
[llvm-xray] Fix android build
std::to_string is not available in the android ndk. Using llvm::to_string
instead.
Committing as obvious.
llvm-svn: 292143
Chad Rosier [Mon, 16 Jan 2017 16:28:43 +0000 (16:28 +0000)]
[AArch64] Falkor supports Rounding Double Multiply Add/Subtract instructions.
Falkor only partially implements the ARMv8.1a extensions, so this patch
refactors the support for the SQRDML[A|S]H instruction into a separate
feature.
Differential Revision: https://reviews.llvm.org/D28681
llvm-svn: 292142
Pavel Labath [Mon, 16 Jan 2017 15:57:07 +0000 (15:57 +0000)]
[StaticAnalyzer] Fix android build
std::to_string is not available in the android NDK. Use llvm::to_string instead.
Committing as obvious.
llvm-svn: 292141
Tobias Grosser [Mon, 16 Jan 2017 15:49:14 +0000 (15:49 +0000)]
ScopInfo: document base pointers in alias-checks must be invariant [NFC]
Before this change, this code has been mixed with a check for non-affine
loops (and when originally introduce was also duplicated). By creating
a separate loop and explicitly documenting this property, the current
behavior becomes a lot more clear.
llvm-svn: 292140
Tobias Grosser [Mon, 16 Jan 2017 15:49:09 +0000 (15:49 +0000)]
ScopInfo: Improve comments in buildAliasGroup [NFC]
llvm-svn: 292139
Tobias Grosser [Mon, 16 Jan 2017 15:49:07 +0000 (15:49 +0000)]
ScopInfo: split out construction of a single alias group [NFC]
The loop body in buildAliasGroups is still too large to easily scan it. Hence,
we split the loop body out into a separate function to improve readability.
llvm-svn: 292138
Tobias Grosser [Mon, 16 Jan 2017 15:49:04 +0000 (15:49 +0000)]
ScopInfo: Do not modify the original alias group [NFC]
Instead of modifying the original alias group and repurposing it as read-write
access group when splitting accesses in read-only and read-write accesses, we
just keep all three groups: the original alias group, the set of read-only
accesses and the set of read-write accesses. This allows us to remove some
complicated iterator handling and also allows for more code-reuse in
calculateMinMaxAccess.
llvm-svn: 292137
Daniel Sanders [Mon, 16 Jan 2017 15:34:43 +0000 (15:34 +0000)]
Revert r292132: [globalisel] Tablegen-erate current Register Bank Information'...
Several buildbots encountered a crash in tablegen when building this commit.
Reverting while I investigate the cause.
llvm-svn: 292136
Marshall Clow [Mon, 16 Jan 2017 15:28:03 +0000 (15:28 +0000)]
Mark the dynamic-exception tests as unsupported under C++17, since it has no dynamic-exception specs. Also, remove a FIXME workaround from the config that allowed these tests to work under C++17. This addresses PR#31621.
llvm-svn: 292135
Arpith Chacko Jacob [Mon, 16 Jan 2017 15:26:02 +0000 (15:26 +0000)]
[OpenMP] Refactor code that calls codegen for target regions on the device.
This patch refactors code that calls codegen for target regions. Currently
the codebase only supports the 'target' directive. The patch pulls out
common target processing code into a static function that can be called
by codegen for any target directive.
Reviewers: ABataev
Differential Revision: https://reviews.llvm.org/D28752
llvm-svn: 292134
Hal Finkel [Mon, 16 Jan 2017 15:22:01 +0000 (15:22 +0000)]
Fix use-after-free bug in AffectedValueCallbackVH::allUsesReplacedWith
When transferring affected values in the cache from an old value, identified by
the value of the current callback, to the specified new value we might need to
insert a new entry into the DenseMap which constitutes the cache. Doing so
might delete the current callback object. Move the copying logic into a new
function, a member of the assumption cache itself, so that we don't run into UB
should the callback handle itself be removed mid-copy.
Differential Revision: https://reviews.llvm.org/D28749
llvm-svn: 292133
Daniel Sanders [Mon, 16 Jan 2017 15:20:43 +0000 (15:20 +0000)]
[globalisel] Tablegen-erate current Register Bank Information
Summary:
Adds a RegisterBank tablegen class that can be used to declare the register
banks and an associated tablegen pass to generate the necessary code.
Reviewers: t.p.northover, ab, rovka, qcolombet
Subscribers: aditya_nandakumar, rengolin, kristof.beyls, vkalintiris, mgorny, dberris, llvm-commits, rovka
Differential Revision: https://reviews.llvm.org/D27338
llvm-svn: 292132
Tony Jiang [Mon, 16 Jan 2017 15:01:07 +0000 (15:01 +0000)]
Revert "[PowerPC] Expand ISEL instruction into if-then-else sequence."
This reverts commit
1d0e0374438ca6e153844c683826ba9b82486bb1.
llvm-svn: 292131
Simon Pilgrim [Mon, 16 Jan 2017 14:49:26 +0000 (14:49 +0000)]
[SelectionDAG] Add knownbits support for BITREVERSE
llvm-svn: 292130
Tony Jiang [Mon, 16 Jan 2017 14:43:12 +0000 (14:43 +0000)]
[PowerPC] Expand ISEL instruction into if-then-else sequence.
Generally, the ISEL is expanded into if-then-else sequence, in some
cases (like when the destination register is the same with the true
or false value register), it may just be expanded into just the if
or else sequence.
llvm-svn: 292128
NAKAMURA Takumi [Mon, 16 Jan 2017 14:33:37 +0000 (14:33 +0000)]
DWARFDebugInfoTest.cpp: Don't use ArrayRef with initializer. It was allocated locally.
llvm-svn: 292127
Tobias Grosser [Mon, 16 Jan 2017 14:24:48 +0000 (14:24 +0000)]
ScopInfo: No need to keep ReadOnlyAccesses in an additional map [NFC]
It seems over time we added an additional map that maps from the base address
of a read-only access to the actual access. However this map is never used.
Drop the creation and use of this map to simplify our alias check generation
code.
llvm-svn: 292126
Tobias Grosser [Mon, 16 Jan 2017 14:13:01 +0000 (14:13 +0000)]
ScopInfo: no need to clear alias group explicitly
The alias group will anyhow be cleared at the end of this function and is not
used afterwards. We avoid an explicit clear() call at multiple places to
improve readability of this code.
llvm-svn: 292125
Tobias Grosser [Mon, 16 Jan 2017 14:08:14 +0000 (14:08 +0000)]
Un-XFAIL test case after half support was added to PTX backend in r291956
llvm-svn: 292124
Tobias Grosser [Mon, 16 Jan 2017 14:08:10 +0000 (14:08 +0000)]
Adjust formatting to commit r292110 [NFC]
llvm-svn: 292123
Tobias Grosser [Mon, 16 Jan 2017 14:08:02 +0000 (14:08 +0000)]
ScopInfo: Fold SmallVectors used in alias check generation back into loop [NFC]
Hoisting small vectors out of a loop seems to be a pure performance
optimization, which is unlikely to have great impact in practice. As this
hoisting just increases code-complexity, we fold the SmallVectors back into
the loop.
In subsequent commits, we will further simplify and structure this code, but
we committed this change separately to provide an explanation to make clear
that we purposefully reverted this optimization.
llvm-svn: 292122
Tobias Grosser [Mon, 16 Jan 2017 14:08:00 +0000 (14:08 +0000)]
ScopInfo: Extract out splitAliasGroupsByDomain [NFC]
The function buildAliasGroups got very large. We extract out the splitting
of alias groups to reduce its size and to better document the current behavior.
llvm-svn: 292121
Tobias Grosser [Mon, 16 Jan 2017 14:07:57 +0000 (14:07 +0000)]
ScopInfo: Extract out buildAliasGroupsForAccesses [NFC]
The function buildAliasGroups got very large. We extract out the actual
construction of alias groups to reduce its size and to better document the
current behavior.
llvm-svn: 292120
Joerg Sonnenberger [Mon, 16 Jan 2017 14:07:24 +0000 (14:07 +0000)]
Ensure that clang -pthread creates the right macro. -D_POSIX_THREADS
seems to have been a C&P error from old GCC specs for OpenBSD.
llvm-svn: 292119
Simon Pilgrim [Mon, 16 Jan 2017 13:59:42 +0000 (13:59 +0000)]
[X86][SSE] Test showing missing BITREVERSE knownbits support
llvm-svn: 292118
Simon Dardis [Mon, 16 Jan 2017 13:55:58 +0000 (13:55 +0000)]
[mips] Correct c.cond.fmt instruction definition.
Permit explicit $fcc<X> operand in c.cond.fmt instruction.
Add c.cond.fmt to the MIPS to microMIPS instruction mapping table.
Check that $fcc1 - $fcc7 are unusable for MIPS-I to MIPS-III for
c.cond.fmt, bc1t, bc1f.
Reviewers: seanbruno, zoran.jovanovic, vkalintiris
Differential Revision: https://reviews.llvm.org/D24510
llvm-svn: 292117
Daniel Jasper [Mon, 16 Jan 2017 13:43:46 +0000 (13:43 +0000)]
Fix test failures after recent clang-format format change.
llvm-svn: 292116
Aaron Ballman [Mon, 16 Jan 2017 13:42:21 +0000 (13:42 +0000)]
Replace non-ASCII ellipsis with "..." to silence Sphinx warnings.
llvm-svn: 292115
Simon Pilgrim [Mon, 16 Jan 2017 13:39:00 +0000 (13:39 +0000)]
[SelectionDAG] Add support for BITREVERSE constant folding
We were relying on constant folding of the legalized instructions to do what constant folding we had previously
llvm-svn: 292114
Piotr Padlewski [Mon, 16 Jan 2017 13:20:08 +0000 (13:20 +0000)]
Add -fstrict-vtable-pointers to UsersManual
Summary: Add missing flag to UsersManual
It would be good to merge it to 4.0 branch.
Reviewers: hans
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28727
llvm-svn: 292112
Simon Pilgrim [Mon, 16 Jan 2017 13:18:07 +0000 (13:18 +0000)]
[X86][SSE] Tests showing missing BITREVERSE constant folding
llvm-svn: 292111
Daniel Jasper [Mon, 16 Jan 2017 13:13:15 +0000 (13:13 +0000)]
Asiri Rathnayake [Mon, 16 Jan 2017 13:13:01 +0000 (13:13 +0000)]
[libcxx] Follow-up to r292107
I've missed a couple of updates. NFC.
llvm-svn: 292109
Asiri Rathnayake [Mon, 16 Jan 2017 12:44:08 +0000 (12:44 +0000)]
[libcxx] Improve design documentation for the external-thread-library
configuration
NFC.
Differential revision: https://reviews.llvm.org/D28610
Reviewers: EricWF
llvm-svn: 292108
Asiri Rathnayake [Mon, 16 Jan 2017 12:19:54 +0000 (12:19 +0000)]
[libcxx] Don't assume __libcpp_thread_t is an integral type
We have already refactored the underlying platform thread type into
__libcpp_thread_t, but there are few places in the source where we
still assume it is an integral type.
This patch refactores those points back into the threading API.
Differential revision: https://reviews.llvm.org/D28608
Reviewers: EricWF
llvm-svn: 292107
Pavel Labath [Mon, 16 Jan 2017 12:15:42 +0000 (12:15 +0000)]
Fix windows unit tests
The unit test I added in the previous commit discovered a bug in
PrependPathComponent on windows -- it was calling SetFile with the host native
path syntax, whereas it should be explicitly specifying the path syntax (as
AppendPathComponent does). This fixes it.
llvm-svn: 292106
Tobias Grosser [Mon, 16 Jan 2017 11:48:03 +0000 (11:48 +0000)]
Do not track the isl PDF manual in SVN
There is no point in regularly committing a binary file to the repository, as
this just unnecessarily increases the repository size. Interested people can
find the isl manual for example at isl.gforge.inria.fr/manual.pdf.
llvm-svn: 292105
George Rimar [Mon, 16 Jan 2017 11:46:55 +0000 (11:46 +0000)]
[COFF] - Fixed format in writeOutSecLine()
The same as https://reviews.llvm.org/rL292102,
fixes next testcases under msvs2015/win32:
25> Failing Tests (3):
25> lld :: COFF/lldmap.test
25> lld :: COFF/weak-external.test
25> lld :: COFF/weak-external3.test
llvm-svn: 292104
George Rimar [Mon, 16 Jan 2017 11:35:38 +0000 (11:35 +0000)]
[ELF] - Fix format specifiers in writeOutSecLine()
I had a error in map-file.s testcase under MSVS2015/win32:
map-file.s:30:16: error: expected string not found in input
// CHECK-NEXT:
0000000000200158 0000000000000030 8 .eh_frame
<stdin>:2:1: note: scanning from here
0000000000200158 10 30 .eh_frame
Format string '%0*x' requires an argument of type 'unsigned int',
but argument has type 'uint64_t'. Proper format is '%0*llx' then.
This fixes testcase failture for me.
llvm-svn: 292102
Simon Pilgrim [Mon, 16 Jan 2017 11:30:41 +0000 (11:30 +0000)]
[InstCombine][SSE] Add DemandedElts support for PSHUFB instructions
Simplify a pshufb shuffle mask based on the elements of the mask that are actually demanded.
Differential Revision: https://reviews.llvm.org/D28745
llvm-svn: 292101
Pavel Labath [Mon, 16 Jan 2017 10:07:02 +0000 (10:07 +0000)]
FileSpec: Fix PrependPathComponent("/")
Summary:
PrependPathComponent was unconditionally inserting path separators between the
path components. This is not correct if the prepended path is "/", which caused
problems down the line. Fix the function to use the same algorithm as
AppendPathComponent and add a test. This fixes one part of llvm.org/pr31611.
Reviewers: clayborg, zturner
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D28677
llvm-svn: 292100
Martin Probst [Mon, 16 Jan 2017 09:52:40 +0000 (09:52 +0000)]
clang-format: [JS] revert over-eager ASI check.
Summary: Change r291428 introduced ASI detection after closing curly braces. That would generally be correct, however this breaks indentation for structural statements. What happens is that CompoundStatementIndenter increases indentation for the current line, then after reading ASI creates a new line (with the increased line level), and only after the structural parser sees e.g. the if/then/else branch closed, line level is reduced. That leads to the new line started by ASI having a level too high.
Reviewers: djasper
Subscribers: sammccall, cfe-commits, klimek
Differential Revision: https://reviews.llvm.org/D28763
llvm-svn: 292099
Haojian Wu [Mon, 16 Jan 2017 09:34:07 +0000 (09:34 +0000)]
[clang-move] Dump enum and type alias declarations.
Reviewers: ioeric
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28293
llvm-svn: 292098
Michael Park [Mon, 16 Jan 2017 08:14:25 +0000 (08:14 +0000)]
Added a workaround for a `-fdelayed-template-parsing` bug.
Summary:
There seems to be an additional bug in `-fdelayed-template-parsing`
similar to
http://llvm.org/viewvc/llvm-project?view=revision&revision=236063.
This is a workaround for it for <variant> to compile with `clang-cl` on Windows.
Reviewers: EricWF
Differential Revision: https://reviews.llvm.org/D28734
llvm-svn: 292097
Craig Topper [Mon, 16 Jan 2017 06:49:09 +0000 (06:49 +0000)]
[X86] Merge the disassemblers handling of the different TYPE_RELs by getting the size information from the ENCODING field. NFCI
llvm-svn: 292096
Craig Topper [Mon, 16 Jan 2017 06:49:03 +0000 (06:49 +0000)]
[X86] Reduce the number of operand 'types' the disassembler needs to deal with. NFCI
We were frequently checking for a list of types and the different types
conveyed no real information. So lump them together explicitly.
llvm-svn: 292095
Craig Topper [Mon, 16 Jan 2017 05:44:33 +0000 (05:44 +0000)]
[AVX-512] Teach the disassembler about all of the EVEX gather and scatter instructions.
llvm-svn: 292094
Craig Topper [Mon, 16 Jan 2017 05:44:25 +0000 (05:44 +0000)]
[AVX-512] Begin giving the disassembler a way to recognize that VSIB is a different encoding than regular addressing modes.
This part first teaches it not to check error if EVEX.V2 is used by a VSIB instruction.
llvm-svn: 292093
Xin Tong [Mon, 16 Jan 2017 03:41:09 +0000 (03:41 +0000)]
Fix typos. NFC
llvm-svn: 292092
Marshall Clow [Mon, 16 Jan 2017 03:02:10 +0000 (03:02 +0000)]
Implement the missing constexpr stuff in <array>. Fixes PR#31645.
llvm-svn: 292091
Rui Ueyama [Mon, 16 Jan 2017 01:07:19 +0000 (01:07 +0000)]
Use error() instead of fatal() to handle file open error.
llvm-svn: 292090
Craig Topper [Mon, 16 Jan 2017 00:58:20 +0000 (00:58 +0000)]
[AVX-512] Add more gather/scatter encoding test cases.
llvm-svn: 292089
Craig Topper [Mon, 16 Jan 2017 00:55:58 +0000 (00:55 +0000)]
[AVX-512] Correct memory operand size for VPGATHERQPS and VPGATHERQD
with ZMM index. Similar for SCATTER and the prefetch gather and scatter
instructions.
Fixes PR31618.
llvm-svn: 292088
Craig Topper [Mon, 16 Jan 2017 00:55:50 +0000 (00:55 +0000)]
[AVX-512] Fix register class in one of the gather/scatter memory operands so that all 32 bit registers can be allowed.
llvm-svn: 292087
Petr Hosek [Mon, 16 Jan 2017 00:33:11 +0000 (00:33 +0000)]
Reland "[CMake][libcxx] Check that we have libcxxabi before using it"
This relands commit r291726.
llvm-svn: 292086
Petr Hosek [Mon, 16 Jan 2017 00:33:09 +0000 (00:33 +0000)]
Reland "[CMake][libcxx] Do not rely on the existence of c++abi or unwind targets"
This relands commit r291727.
llvm-svn: 292085
Petr Hosek [Mon, 16 Jan 2017 00:33:07 +0000 (00:33 +0000)]
Reland "[CMake][libcxx] Move Python check to main CMake file"
This relands commit r291728.
llvm-svn: 292084
Petr Hosek [Mon, 16 Jan 2017 00:33:02 +0000 (00:33 +0000)]
Reland "[CMake][compiler-rt] Mark libcxx build for tsan as standalone"
This relands commit r291722.
llvm-svn: 292083
Sanjay Patel [Sun, 15 Jan 2017 23:45:03 +0000 (23:45 +0000)]
[InstCombine] add tests to show missed vector folds; NFC
Also, add comments and remove bogus comment.
llvm-svn: 292082
Xin Tong [Sun, 15 Jan 2017 23:32:11 +0000 (23:32 +0000)]
Empty line. NFC.
llvm-svn: 292081
Xin Tong [Sun, 15 Jan 2017 21:17:52 +0000 (21:17 +0000)]
Use getLoopLatch in place of isLoopSimplifyForm
Summary:
Use getLoopLatch in place of isLoopSimplifyForm. we do not need
to know whether the loop has a preheader nor dedicated exits.
Reviewers: hfinkel, sanjoy, atrick, mkuper
Subscribers: mzolotukhin, llvm-commits
Differential Revision: https://reviews.llvm.org/D28724
llvm-svn: 292078
Simon Pilgrim [Sun, 15 Jan 2017 20:44:00 +0000 (20:44 +0000)]
[CostModel][X86] Fix AVX512BW vector shift costs for vXi16 types
We already have patterns in place to support 128/256-bit shifts without AVX512VL
llvm-svn: 292077
Simon Pilgrim [Sun, 15 Jan 2017 20:19:28 +0000 (20:19 +0000)]
[CostModel][X86] Drop separate AVX512VL checks - they match existing AVX512 costs
Keep the tests though.
llvm-svn: 292076
Simon Pilgrim [Sun, 15 Jan 2017 20:10:28 +0000 (20:10 +0000)]
[CostModel][X86] Update vector shift tests to correctly check by non-constant uniform values.
Use shuffle( scslar_to_vector, zeroinitializer) pattern instead of shuffle( vec, zeroinitializer)
llvm-svn: 292075
Xin Tong [Sun, 15 Jan 2017 19:53:59 +0000 (19:53 +0000)]
Delete a dead argument. NFC
llvm-svn: 292074
Sanjay Patel [Sun, 15 Jan 2017 17:55:35 +0000 (17:55 +0000)]
[InstCombine] fix formatting; NFC
llvm-svn: 292073
Simon Pilgrim [Sun, 15 Jan 2017 17:49:04 +0000 (17:49 +0000)]
[InstCombine][SSE] Tests showing missed opportunities to pass demanded elts through a pshufb shuffle mask
llvm-svn: 292072
Justin Lebar [Sun, 15 Jan 2017 16:55:54 +0000 (16:55 +0000)]
[NVPTX] Add fptosi tests to convert-fp.ll.
These seem to have been left off by accident.
llvm-svn: 292071