]> granicus.if.org Git - llvm/log
llvm
8 years ago[LoopDeletion] (cleanup, NFC) Fix another variable name to match LLVM
Chandler Carruth [Tue, 17 Jan 2017 22:19:56 +0000 (22:19 +0000)]
[LoopDeletion] (cleanup, NFC) Fix another variable name to match LLVM
conventions, missed this one in a previous cleanup patch (sorry).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292279 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[GlobalISel] track predecessor mapping during switch lowering.
Tim Northover [Tue, 17 Jan 2017 22:13:50 +0000 (22:13 +0000)]
[GlobalISel] track predecessor mapping during switch lowering.

Correctly populating Machine PHIs relies on knowing exactly how the IR level
CFG was lowered to MachineIR. This needs to be tracked by any translation
phases that meddle (currently only SwitchInst handling).

This reapplies r291973 which was reverted because of testing failures. Fixes:

 + Don't return an ArrayRef to a local temporary.
 + Incorporate Kristof's suggested comment improvements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292278 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE] Split UMIN and UMAX known bits tests
Simon Pilgrim [Tue, 17 Jan 2017 22:12:25 +0000 (22:12 +0000)]
[X86][SSE] Split UMIN and UMAX known bits tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292277 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[LoopDeletion] (cleanup, NFC) Remove a pointless comment.
Chandler Carruth [Tue, 17 Jan 2017 22:09:28 +0000 (22:09 +0000)]
[LoopDeletion] (cleanup, NFC) Remove a pointless comment.

I hope that for any code, it is changed only with good reason and only
when the author knows what they are doing...

There is of course good reason to comment here about the subtlety of the
process, and I've left that comment in tact.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292275 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[LoopDeletion] (cleanup, NFC) Make simple helper functions static
Chandler Carruth [Tue, 17 Jan 2017 22:07:26 +0000 (22:07 +0000)]
[LoopDeletion] (cleanup, NFC) Make simple helper functions static
instead of members.

No state was being provided by the object so this seems strictly
simpler.

I've also tried to improve the name and comments for the functions to
more thoroughly document what they are doing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292274 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[LoopDeletion] (cleanup, NFC) Stop passing around reference to a vector
Chandler Carruth [Tue, 17 Jan 2017 22:00:52 +0000 (22:00 +0000)]
[LoopDeletion] (cleanup, NFC) Stop passing around reference to a vector
that we know has exactly one element when all we are going to do is get
that one element out of it.

Instead, pass around that one element.

There are more simplifications to come in this code...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292273 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PM] Clean up variable and parameter names to match modern LLVM naming
Chandler Carruth [Tue, 17 Jan 2017 21:51:39 +0000 (21:51 +0000)]
[PM] Clean up variable and parameter names to match modern LLVM naming
conventions more conistently before hacking on this code to integrate
nicely with new PM's loop pass infrastructure. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292272 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSilence some Sphinx diagnostics in an attempt to get the documentation builder back...
Aaron Ballman [Tue, 17 Jan 2017 21:48:31 +0000 (21:48 +0000)]
Silence some Sphinx diagnostics in an attempt to get the documentation builder back to green (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/1895).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292271 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a test case for LICM when promoting locals that may be read after the throw withi...
Xin Tong [Tue, 17 Jan 2017 21:26:36 +0000 (21:26 +0000)]
Add a test case for LICM when promoting locals that may be read after the throw within the loop. NFCI.

Summary: Add a test case for LICM when promoting locals that may be read after the throw within the loop.

Reviewers: eli.friedman, hfinkel, sanjoy

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292261 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] refactor foldICmpShlConstant(); NFCI
Sanjay Patel [Tue, 17 Jan 2017 21:25:16 +0000 (21:25 +0000)]
[InstCombine] refactor foldICmpShlConstant(); NFCI

This reduces the size of and increases the symmetry with the planned functional change in:
https://reviews.llvm.org/D28406

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292260 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[bpf] fix stack-use-after-scope
Alexei Starovoitov [Tue, 17 Jan 2017 21:14:00 +0000 (21:14 +0000)]
[bpf] fix stack-use-after-scope

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292258 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoEnabled -fsanitize-address-use-after-scope for -DLLVM_USE_SANITIZER=Address
Vitaly Buka [Tue, 17 Jan 2017 21:04:23 +0000 (21:04 +0000)]
Enabled -fsanitize-address-use-after-scope for -DLLVM_USE_SANITIZER=Address

Subscribers: mgorny, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292256 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[cmake] Update SOVERSION for the new versioning scheme
Michal Gorny [Tue, 17 Jan 2017 21:04:19 +0000 (21:04 +0000)]
[cmake] Update SOVERSION for the new versioning scheme

Update SOVERSION to use just the major version number rather than
major+minor, to match the new versioning scheme where only major is used
to indicate API/ABI version.

Since two-digit SOVERSIONs were introduced post 3.9 branching, this
change does not risk any SOVERSION collisions. In the past,
two-component X.Y SOVERSIONs were shortly used but those will not
interfere with the new ones since the new versions start at 4.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292255 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[LV] Mark non-consecutive-like pointers non-uniform
Matthew Simpson [Tue, 17 Jan 2017 20:51:39 +0000 (20:51 +0000)]
[LV] Mark non-consecutive-like pointers non-uniform

If a memory instruction will be vectorized, but it's pointer operand is
non-consecutive-like, the instruction is a gather or scatter operation. Its
pointer operand will be non-uniform. This should fix PR31671.

Reference: https://llvm.org/bugs/show_bug.cgi?id=31671
Differential Revision: https://reviews.llvm.org/D28819

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292254 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[WebAssembly] Add triple support for the new wasm object format
Dan Gohman [Tue, 17 Jan 2017 20:34:09 +0000 (20:34 +0000)]
[WebAssembly] Add triple support for the new wasm object format

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292252 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRename scalar_promote.ll to scalar-promote.ll and scalar_promote-unwind.ll to scalar...
Xin Tong [Tue, 17 Jan 2017 20:28:36 +0000 (20:28 +0000)]
Rename scalar_promote.ll to scalar-promote.ll and scalar_promote-unwind.ll to scalar-promote-unwind.ll. NFCI

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292251 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRefactor out LoopInfo computation so that it can be used by
Xin Tong [Tue, 17 Jan 2017 20:24:39 +0000 (20:24 +0000)]
Refactor out LoopInfo computation so that it can be used by
other test cases.

Summary: Refactor out LoopInfo computation so that it can be
used by other test cases.

So i am changing this test proactively for later commit, which will use
this function.

Reviewers: sanjoy, hfinkel

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292250 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[EarlyCSE] Don't DSE across readnone functions that may throw
Sanjoy Das [Tue, 17 Jan 2017 20:15:47 +0000 (20:15 +0000)]
[EarlyCSE] Don't DSE across readnone functions that may throw

Summary: Depends on D28740

Reviewers: dberlin, chandlerc, hfinkel, majnemer

Subscribers: mcrosier, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292249 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] add tests for shl nsw + icmp sle; NFC
Sanjay Patel [Tue, 17 Jan 2017 20:15:26 +0000 (20:15 +0000)]
[InstCombine] add tests for shl nsw + icmp sle; NFC

We want to handle these cases similarly to icmp sgt, so add the tests for it.
See: https://reviews.llvm.org/D28406

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292248 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[TLI] Appease spurious MSVC warning using llvm_unreachable. NFC.
Ahmed Bougacha [Tue, 17 Jan 2017 19:54:18 +0000 (19:54 +0000)]
[TLI] Appease spurious MSVC warning using llvm_unreachable. NFC.

r292188 confused MSVC because of the combined lack of a default
case and return statement.

Move the unreachable outside of the NumLibFuncs case, to make it
obvious that all cases should be handled.

llvm_unreachable is __declspec(noreturn), so I'm assuming this
does appease MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292246 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRemove an overeager assert from r288844.
Joerg Sonnenberger [Tue, 17 Jan 2017 19:29:15 +0000 (19:29 +0000)]
Remove an overeager assert from r288844.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292244 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert r291640 change to fold X86 comparison with atomic_load_add.
Bob Wilson [Tue, 17 Jan 2017 19:18:57 +0000 (19:18 +0000)]
Revert r291640 change to fold X86 comparison with atomic_load_add.

Even with the fix from r291630, this still causes problems. I get
widespread assertion failures in the Swift runtime's WeakRefCount::increment()
function. I sent a reduced testcase in reply to the commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292242 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PM] Teach the LoopPassManager to automatically canonicalize loops by
Chandler Carruth [Tue, 17 Jan 2017 19:18:12 +0000 (19:18 +0000)]
[PM] Teach the LoopPassManager to automatically canonicalize loops by
runnig LCSSA over them prior to running the loop pipeline.

This also teaches the loop PM to verify that LCSSA form is preserved
throughout the pipeline's run across the loop nest.

Most of the test updates just leverage this new functionality. One has to be
relaxed with the new PM as IVUsers is less powerful when it sees LCSSA input.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292241 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[ValueTracking] recognize a 'not' of an assumed condition as false
Sanjay Patel [Tue, 17 Jan 2017 18:15:49 +0000 (18:15 +0000)]
[ValueTracking] recognize a 'not' of an assumed condition as false

Also, add the corresponding match to the AssumptionCache's 'Affected Values' list.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292239 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] Fold ((C1 OP zext(X)) & C2) -> zext((C1 OP X) & C2)
David Majnemer [Tue, 17 Jan 2017 18:08:06 +0000 (18:08 +0000)]
[InstCombine] Fold ((C1 OP zext(X)) & C2) -> zext((C1 OP X) & C2)

This further extends r292179 to support additional binary operators
beyond subtraction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292238 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert r292231.
Kuba Mracek [Tue, 17 Jan 2017 18:06:38 +0000 (18:06 +0000)]
Revert r292231.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292237 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][AVX512] Add all_of/any_of avx512vl tests
Simon Pilgrim [Tue, 17 Jan 2017 17:33:18 +0000 (17:33 +0000)]
[X86][AVX512] Add all_of/any_of avx512vl tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292235 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[ValueTracking] Extend known bits to understand @llvm.bitreverse.
Chad Rosier [Tue, 17 Jan 2017 17:23:51 +0000 (17:23 +0000)]
[ValueTracking] Extend known bits to understand @llvm.bitreverse.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292233 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[lit] Limit parallelism of sanitizer tests on Darwin [llvm part]
Kuba Mracek [Tue, 17 Jan 2017 17:15:02 +0000 (17:15 +0000)]
[lit] Limit parallelism of sanitizer tests on Darwin [llvm part]

Running lit tests and unit tests of ASan and TSan on macOS has very bad performance when running with a high number of threads. This is caused by xnu (the macOS kernel), which currently doesn't handle mapping and unmapping of sanitizer shadow regions (reserved VM which are several terabytes large) very well. The situation is so bad that increasing the number of threads actually makes the total testing time larger. The macOS buildbots are affected by this. Note that we can't easily limit the number of sanitizer testing threads without affecting the rest of the tests.

This patch adds a special "group" into lit, and limits the number of concurrently running tests in this group. This helps solve the contention problem, while still allowing other tests to run in full, that means running lit with -j8 will still with 8 threads, and parallelism is only limited in sanitizer tests.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292231 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] reduce indent; NFCI
Sanjay Patel [Tue, 17 Jan 2017 16:59:09 +0000 (16:59 +0000)]
[InstCombine] reduce indent; NFCI

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292230 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRecommit r292214 "[Support/Compression] - Change zlib API to return Error instead...
George Rimar [Tue, 17 Jan 2017 15:45:07 +0000 (15:45 +0000)]
Recommit r292214 "[Support/Compression] - Change zlib API to return Error instead of custom status"

No any changes, will follow up with D28807 commit containing APLi change for clang
to fix build issues happened.

Original commit message:
[Support/Compression] - Change zlib API to return Error instead of custom status.

Previously API returned custom enum values.
Patch changes it to return Error with string description.
That should help users to report errors in universal way.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292226 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AMDGPU] Assembler: fix v_mac_f16 immediates
Sam Kolton [Tue, 17 Jan 2017 15:26:02 +0000 (15:26 +0000)]
[AMDGPU] Assembler: fix v_mac_f16 immediates

Reviewers: vpykhtin, artem.tamazov, tstellarAMD

Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl, tony-tye

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292224 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE] Tests showing horizontal all_of/any_of of vector comparison results
Simon Pilgrim [Tue, 17 Jan 2017 15:02:01 +0000 (15:02 +0000)]
[X86][SSE] Tests showing horizontal all_of/any_of of vector comparison results

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292223 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-objdump tests] Copy the inputs of tests closer to tests.
Krasimir Georgiev [Tue, 17 Jan 2017 14:22:29 +0000 (14:22 +0000)]
[llvm-objdump tests] Copy the inputs of tests closer to tests.

Summary:
Tests under tools/llvm-objdump should not use inputs from Object. Copied the
required inputs and aligned the new tests to be more consistent with the existing
tests in this respect.

Reviewers: ioeric

Reviewed By: ioeric

Subscribers: davide, djasper, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292222 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert r292214 "[Support/Compression] - Change zlib API to return Error instead of...
George Rimar [Tue, 17 Jan 2017 13:27:58 +0000 (13:27 +0000)]
Revert r292214 "[Support/Compression] - Change zlib API to return Error instead of custom status."

It broked clang:
http://lab.llvm.org:8080/green//job/clang-stage1-cmake-RA-incremental_build/34218/consoleFull#46141505449ba4694-19c4-4d7e-bec5-911270d8a58c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292217 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoBrainF example: fixing output buffering issue
Boris Ulasevich [Tue, 17 Jan 2017 13:27:28 +0000 (13:27 +0000)]
BrainF example: fixing output buffering issue
Differential Revision: https://reviews.llvm.org/D27824

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292216 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Support/Compression] - Change zlib API to return Error instead of custom status.
George Rimar [Tue, 17 Jan 2017 13:20:17 +0000 (13:20 +0000)]
[Support/Compression] - Change zlib API to return Error instead of custom status.

Previously API returned custom enum values.
Patch changes it to return Error with string description.
That should help users to report errors in universal way.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292214 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[XRay][Arm] Repair XRay table emission on Arm32 and add tests to identify such proble...
Serge Rogatch [Tue, 17 Jan 2017 11:52:10 +0000 (11:52 +0000)]
[XRay][Arm] Repair XRay table emission on Arm32 and add tests to identify such problem earlier

Summary:
Emission of XRay table was occasionally disabled for Arm32, but this bug was not then detected because earlier (also by mistake) testing of XRay was occasionally disabled on 32-bit Arm targets. This patch should fix that problem and detect such problems in the future.
This patch is one of a series, see also
- https://reviews.llvm.org/D28623

Reviewers: rengolin, dberris

Reviewed By: dberris

Subscribers: llvm-commits, aemerson, rengolin, dberris, iid_iunknown

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292210 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine][X86][AVX] Add DemandedElts support for VPERMILPD/VPERMILPS instructions
Simon Pilgrim [Tue, 17 Jan 2017 11:35:03 +0000 (11:35 +0000)]
[InstCombine][X86][AVX] Add DemandedElts support for VPERMILPD/VPERMILPS instructions

Simplify a vpermilvar shuffle mask based on the elements of the mask that are actually demanded.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292209 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUpdate the release tester for MIPS. NFC.
Vasileios Kalintiris [Tue, 17 Jan 2017 11:00:28 +0000 (11:00 +0000)]
Update the release tester for MIPS. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292208 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRemove pid_t usage from llvm-xray
Pavel Labath [Tue, 17 Jan 2017 09:39:31 +0000 (09:39 +0000)]
Remove pid_t usage from llvm-xray

This type is not available on windows.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292206 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Add replacement export intrinsics
Matt Arsenault [Tue, 17 Jan 2017 07:26:53 +0000 (07:26 +0000)]
AMDGPU: Add replacement export intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292205 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[bpf] error when unknown bpf helper is called
Alexei Starovoitov [Tue, 17 Jan 2017 07:26:17 +0000 (07:26 +0000)]
[bpf] error when unknown bpf helper is called

Emit error when BPF backend sees a call to a global function or to an external symbol.
The kernel verifier only allows calls to predefined helpers from bpf.h
which are defined in 'enum bpf_func_id'. Such calls in assembler must
look like 'call [1-9]+' where number matches bpf_func_id.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292204 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[utils] Add libc++ and libc++abi config to llvm-lit
Shoaib Meenai [Tue, 17 Jan 2017 07:10:55 +0000 (07:10 +0000)]
[utils] Add libc++ and libc++abi config to llvm-lit

This allows us to use bin/llvm-lit to run individual libc++ and
libc++abi tests without having to explicitly specify the site config
paths, similar to other projects.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292203 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AVX-512] Add support for taking a bitcast between a SUBV_BROADCAST and VSELECT and...
Craig Topper [Tue, 17 Jan 2017 06:49:59 +0000 (06:49 +0000)]
[AVX-512] Add support for taking a bitcast between a SUBV_BROADCAST and VSELECT and moving it to the input of the SUBV_BROADCAST if it will help with using a masked operation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292201 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AVX-512] Add test cases showing missed opportunities to fold subvector broadcasts...
Craig Topper [Tue, 17 Jan 2017 06:49:54 +0000 (06:49 +0000)]
[AVX-512] Add test cases showing missed opportunities to fold subvector broadcasts with a mask operation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292200 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agollc: Update link components
Matt Arsenault [Tue, 17 Jan 2017 05:47:03 +0000 (05:47 +0000)]
llc: Update link components

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292198 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] Don't DSE across readnone functions that may throw
Sanjoy Das [Tue, 17 Jan 2017 05:45:09 +0000 (05:45 +0000)]
[InstCombine] Don't DSE across readnone functions that may throw

Summary: Depends on D28740

Reviewers: dberlin, chandlerc, hfinkel, majnemer

Subscribers: mcrosier, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292197 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agollc: Update LLVMBuild
Matt Arsenault [Tue, 17 Jan 2017 05:34:08 +0000 (05:34 +0000)]
llc: Update LLVMBuild

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292196 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agollc: Initialize more passes
Matt Arsenault [Tue, 17 Jan 2017 05:11:25 +0000 (05:11 +0000)]
llc: Initialize more passes

Targets can add these. Initialize them so -print-before/-print-after
etc. work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292195 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Orc][RPC] Return unsupported rpc function errors from the non-retry cases in
Lang Hames [Tue, 17 Jan 2017 04:07:48 +0000 (04:07 +0000)]
[Orc][RPC] Return unsupported rpc function errors from the non-retry cases in
negotiateFunction.

These cases were accidentally left out of r292055, resulting in a less
descriptive ECError being returned on these paths.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292193 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "[TLI] Robustize SDAG proto checking by merging it into TLI."
Ahmed Bougacha [Tue, 17 Jan 2017 03:31:00 +0000 (03:31 +0000)]
Revert "[TLI] Robustize SDAG proto checking by merging it into TLI."

This reverts commit r292189, as it causes issues on SystemZ bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292191 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[TLI] Robustize SDAG proto checking by merging it into TLI.
Ahmed Bougacha [Tue, 17 Jan 2017 03:10:06 +0000 (03:10 +0000)]
[TLI] Robustize SDAG proto checking by merging it into TLI.

SelectionDAGBuilder recognizes libfuncs using some homegrown
parameter type-checking.

Use TLI instead, removing another heap of redundant code.

This isn't strictly NFC, as the SDAG code was too lax.
Concretely, this means changes are required to two tests:
- calling a non-variadic function via a variadic prototype isn't OK;
  it just happens to work on x86_64 (but not on, e.g., aarch64).
- mempcpy has a size_t parameter;  the SDAG code accepts any integer
  type, which meant using i32 on x86_64 worked.

I don't think it's worth supporting either of these (IMO) broken
testcases.  Instead, fix them to be more correct.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292189 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[TLI] Add prototype checking for all remaining LibFuncs.
Ahmed Bougacha [Tue, 17 Jan 2017 03:10:02 +0000 (03:10 +0000)]
[TLI] Add prototype checking for all remaining LibFuncs.

This is another step towards unifying all LibFunc prototype checks.
This work started in r267758 (D19469);  add the remaining checks.

Also add a unittest that checks each libfunc declared with a known-valid
and known-invalid prototype.  New libfuncs added in the future are
required to have prototype checking in place; the known-valid test will
fail otherwise.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292188 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[TLI] Alphabetize some of the prototype check switch. NFC.
Ahmed Bougacha [Tue, 17 Jan 2017 03:10:00 +0000 (03:10 +0000)]
[TLI] Alphabetize some of the prototype check switch. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292187 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[unittests] Alphabetize cmake file list. NFC.
Ahmed Bougacha [Tue, 17 Jan 2017 03:09:55 +0000 (03:09 +0000)]
[unittests] Alphabetize cmake file list. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292186 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[bpf] error when BPF stack size exceeds 512 bytes
Alexei Starovoitov [Tue, 17 Jan 2017 01:05:17 +0000 (01:05 +0000)]
[bpf] error when BPF stack size exceeds 512 bytes

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292180 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] Fold ((C1-zext(X)) & C2) -> zext((C1-X) & C2)
David Majnemer [Tue, 17 Jan 2017 00:45:57 +0000 (00:45 +0000)]
[InstCombine] Fold ((C1-zext(X)) & C2) -> zext((C1-X) & C2)

This is valid if C2 fits within the bitwidth of X thanks to two's
complement modulo arithmetic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292179 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd comment to test file I forgot to save
Matt Arsenault [Tue, 17 Jan 2017 00:35:28 +0000 (00:35 +0000)]
Add comment to test file I forgot to save

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292178 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSimplifyLibCalls: Remove checks for fabs
Matt Arsenault [Tue, 17 Jan 2017 00:30:31 +0000 (00:30 +0000)]
SimplifyLibCalls: Remove checks for fabs

Use the intrinsic instead of emitting the libcall which
will be replaced by the intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292176 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Remove dead pattern
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292173 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSimplifyLibCalls: Replace fabs libcalls with intrinsics
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292172 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Object] Fixup permissions of input files.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292171 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-objdump] Dump PT_NOTE as part of -p.
Davide Italiano [Mon, 16 Jan 2017 23:13:46 +0000 (23:13 +0000)]
[llvm-objdump] Dump PT_NOTE as part of -p.

PR: 31641

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292170 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-objdump] Dump PT_GNU_RELRO as part of -p.
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292169 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-objdump] Dump PT_OPENBSD_{BOOTDATA,RANDOMIZE,WXNEEDED}.
Davide Italiano [Mon, 16 Jan 2017 22:01:41 +0000 (22:01 +0000)]
[llvm-objdump] Dump PT_OPENBSD_{BOOTDATA,RANDOMIZE,WXNEEDED}.

PR: 31641

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292167 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd missing header to see if that clears up the build
David Blaikie [Mon, 16 Jan 2017 21:40:08 +0000 (21:40 +0000)]
Add missing header to see if that clears up the build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292166 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine][AVX] Tests showing missed opportunities to pass demanded elts through...
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292165 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] use m_APInt instead of faking it
Sanjay Patel [Mon, 16 Jan 2017 21:24:41 +0000 (21:24 +0000)]
[InstCombine] use m_APInt instead of faking it

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292164 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAttempt to fix the MSVC build by using llvm::errc instead of std::errc
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292163 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoADMGPU/EG,CM: Implement _noret global atomics
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292162 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[XRay] Implement the `llvm-xray graph` subcommand
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292156 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAttempt to workaround MSVC build issue where I suspect an enum class constant 0 is...
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292155 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PowerPC] Expand ISEL instruction into if-then-else sequence.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292154 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] fix names in canEvaluateShiftedShift(); NFC
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292153 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] use m_APInt to allow shift-shift folds for vectors with splat constants
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292151 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] add tests to show missed vector folds; NFC
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292150 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoPR31650: Refer to enum constant when initializing llvm::None constant
David Blaikie [Mon, 16 Jan 2017 18:48:52 +0000 (18:48 +0000)]
PR31650: Refer to enum constant when initializing llvm::None constant

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292149 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[NVPTX] Add blank line to NVPTXUsage.rst to appease the Sphinx.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292148 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] refactor shift-of-shift folds; NFCI
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292145 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine][SSE] Tests showing missed opportunities to pass demanded elts through...
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292144 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[llvm-xray] Fix android build
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292143 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AArch64] Falkor supports Rounding Double Multiply Add/Subtract instructions.
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292142 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert r292132: [globalisel] Tablegen-erate current Register Bank Information'...
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292136 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix use-after-free bug in AffectedValueCallbackVH::allUsesReplacedWith
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292133 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[globalisel] Tablegen-erate current Register Bank Information
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292132 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "[PowerPC] Expand ISEL instruction into if-then-else sequence."
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292131 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[SelectionDAG] Add knownbits support for BITREVERSE
Simon Pilgrim [Mon, 16 Jan 2017 14:49:26 +0000 (14:49 +0000)]
[SelectionDAG] Add knownbits support for BITREVERSE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292130 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[PowerPC] Expand ISEL instruction into if-then-else sequence.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292128 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDWARFDebugInfoTest.cpp: Don't use ArrayRef with initializer. It was allocated locally.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292127 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE] Test showing missing BITREVERSE knownbits support
Simon Pilgrim [Mon, 16 Jan 2017 13:59:42 +0000 (13:59 +0000)]
[X86][SSE] Test showing missing BITREVERSE knownbits support

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292118 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[mips] Correct c.cond.fmt instruction definition.
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292117 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[SelectionDAG] Add support for BITREVERSE constant folding
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292114 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE] Tests showing missing BITREVERSE constant folding
Simon Pilgrim [Mon, 16 Jan 2017 13:18:07 +0000 (13:18 +0000)]
[X86][SSE] Tests showing missing BITREVERSE constant folding

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292111 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine][SSE] Add DemandedElts support for PSHUFB instructions
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292101 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Merge the disassemblers handling of the different TYPE_RELs by getting the...
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292096 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Reduce the number of operand 'types' the disassembler needs to deal with. NFCI
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292095 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AVX-512] Teach the disassembler about all of the EVEX gather and scatter instructions.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292094 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AVX-512] Begin giving the disassembler a way to recognize that VSIB is a different...
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292093 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix typos. NFC
Xin Tong [Mon, 16 Jan 2017 03:41:09 +0000 (03:41 +0000)]
Fix typos. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292092 91177308-0d34-0410-b5e6-96231b3b80d8