Commit Graph

26559 Commits

Author SHA1 Message Date
Zhaoshi Zheng e4422b6a2a Revert "Revert r341269: [Constant Hoisting] Hoisting Constant GEP Expressions"
Reland r341269. Use std::stable_sort when sorting constant condidates.

Reverting commit, r341365:

  Revert r341269: [Constant Hoisting] Hoisting Constant GEP Expressions

  One of the tests is failing 50% of the time when expensive checks are
  enabled. Not sure how deep the problem is so just reverting while the
  author can investigate so that the bots stop repeatedly failing and
  blaming things incorrectly. Will respond with details on the original
  commit.

Original commit, r341269:

  [Constant Hoisting] Hoisting Constant GEP Expressions

  Leverage existing logic in constant hoisting pass to transform constant GEP
  expressions sharing the same base global variable. Multi-dimensional GEPs are
  rewritten into single-dimensional GEPs.

  https://reviews.llvm.org/D51396

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341417 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 22:17:03 +00:00
Thomas Lively e49253c0c1 [WebAssembly][NFC] Add colon to label in test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341414 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 21:51:32 +00:00
Scott Linder 6da9a35885 [AMDGPU] Legalize VGPR Rsrc operands for MUBUF instructions
Emit a waterfall loop in the general case for a potentially-divergent Rsrc
operand. When practical, avoid this by using Addr64 instructions.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341413 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 21:50:47 +00:00
Thomas Lively c5f4b48f16 [WebAssembly][NFC] Fix formatting and tests
Summary: Small fixes

Reviewers: aheejin, dschuff

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

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341411 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 21:26:17 +00:00
Krzysztof Parzyszek 09f9778d84 [Hexagon] Don't packetize new-value stores with any other stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341409 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 21:07:27 +00:00
JF Bastien 354803c92f NFC: expand memset inline arm64 coverage
I'm looking at some codegen optimization in this area and want to make sure I understand the current codegen and don't regress it. This patch simply expands the two existing tests to capture more of the current code generation when it comes to heap-based and stack-based small memset on arm64. The tested code is already pretty good, notably when it comes to using STP, FP stores, FP immediate generation, and folding one of the stores into a stack spill when possible. The uses of STUR could be improved, and some more pairing could occur. Straying from bzero patterns currently yield suboptimal code, and I expect a variety of small changes could make things way better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341406 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 21:02:00 +00:00
Martin Storsjo 42d7052fc2 [MinGW] [AArch64] Add stubs for potential automatic dllimported variables
The runtime pseudo relocations can't handle the AArch64 format PC
relative addressing in adrp+add/ldr pairs. By using stubs, the potentially
dllimported addresses can be touched up by the runtime pseudo relocation
framework.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341401 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 20:56:21 +00:00
Matt Arsenault 49cbe528e3 AMDGPU: Fix DAG divergence not reporting flat loads
Match behavior in DAG of r340343

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341393 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 18:58:19 +00:00
Dan Gohman b9587f4923 [WebAssembly] Fix operand rewriting in inline asm lowering.
Use MachineOperand::ChangeToImmediate rather than reassigning
MachineOperands to new values created from MachineOperand::CreateImm,
so that their parent pointers are preserved.

This fixes "Instruction has operand with wrong parent set" errors
reported by the MachineVerifier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341389 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 17:46:12 +00:00
Chandler Carruth 1381c3b1f0 Revert r341269: [Constant Hoisting] Hoisting Constant GEP Expressions
One of the tests is failing 50% of the time when expensive checks are
enabled. Not sure how deep the problem is so just reverting while the
author can investigate so that the bots stop repeatedly failing and
blaming things incorrectly. Will respond with details on the original
commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341365 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 13:36:44 +00:00
Chandler Carruth d2b1fb11d3 [x86/SLH] Add a real Clang flag and LLVM IR attribute for Speculative
Load Hardening.

Wires up the existing pass to work with a proper IR attribute rather
than just a hidden/internal flag. The internal flag continues to work
for now, but I'll likely remove it soon.

Most of the churn here is adding the IR attribute. I talked about this
Kristof Beyls and he seemed at least initially OK with this direction.
The idea of using a full attribute here is that we *do* expect at least
some forms of this for other architectures. There isn't anything
*inherently* x86-specific about this technique, just that we only have
an implementation for x86 at the moment.

While we could potentially expose this as a Clang-level attribute as
well, that seems like a good question to defer for the moment as it
isn't 100% clear whether that or some other programmer interface (or
both?) would be best. We'll defer the programmer interface side of this
for now, but at least get to the point where the feature can be enabled
without relying on implementation details.

This also allows us to do something that was really hard before: we can
enable *just* the indirect call retpolines when using SLH. For x86, we
don't have any other way to mitigate indirect calls. Other architectures
may take a different approach of course, and none of this is surfaced to
user-level flags.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341363 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 12:38:00 +00:00
Chandler Carruth 2ec0ce0cc3 [x86/SLH] Teach SLH to harden against the "ret2spec" attack by
implementing the proposed mitigation technique described in the original
design document.

The idea is to check after calls that the return address used to arrive
at that location is in fact the correct address. In the event of
a mis-predicted return which reaches a *valid* return but not the
*correct* return, this will detect the mismatch much like it would
a mispredicted conditional branch.

This is the last published attack vector that I am aware of in the
Spectre v1 space which is not mitigated by SLH+retpolines. However,
don't read *too* much into that: this is an area of ongoing research
where we expect more issues to be discovered in the future, and it also
makes no attempt to mitigate Spectre v4. Still, this is an important
completeness bar for SLH.

The change here is of course delightfully simple. It was predicated on
cutting support for post-instruction symbols into LLVM which was not at
all simple. Many thanks to Hal Finkel, Reid Kleckner, and Justin Bogner
who helped me figure out how to do a bunch of the complex changes
involved there.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341358 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 10:59:10 +00:00
Chandler Carruth be7ae28b63 [x86/SLH] Teach SLH to harden indirect branches and switches without
retpolines.

This implements the core design of tracing the intended target into the
target, checking it, and using that to update the predicate state. It
takes advantage of a few interesting aspects of SLH to make it a bit
easier to implement:
- We already split critical edges with conditional branches, so we can
assume those are gone.
- We already unfolded any memory access in the indirect branch
instruction itself.

I've left hard errors in place to catch if any of these somewhat subtle
invariants get violated.

There is some code that I can factor out and share with D50837 when it
lands, but I didn't want to couple landing the two patches, so I'll do
that in a follow-up cleanup commit if alright.

Factoring out the code to handle different scenarios of materializing an
address remains frustratingly hard. In a bunch of cases you want to fold
one of the cases into an immediate operand of some other instruction,
and you also have both symbols and basic blocks being used which require
different methods on the MI builder (and different operand kinds).
Still, I'll take a stab at sharing at least some of this code in
a follow-up if I can figure out how.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341356 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04 10:44:21 +00:00
Sanjay Patel e0a1c477d7 [AArch64][x86] add tests for pow(x, 0.25); NFC
Folds for this were proposed in D49306, but we
decided the transform is better suited for the backend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341341 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-03 22:11:47 +00:00
Simon Atanasyan 0f7b987bae [mips] Disable the selection of mixed microMIPS/MIPS code
This patch modifies hasStandardEncoding() / inMicroMipsMode() /
inMips16Mode() methods of the MipsSubtarget class so only one can be
true at any one time. That prevents the selection of microMIPS and MIPS
instructions and patterns that are defined in TableGen files at the same
time. A few new patterns and instruction definitions hae been added to
keep test cases passed.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341338 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-03 20:48:55 +00:00
Sid Manning c4a79cd8d6 Revert [Hexagon] Add support for getRegisterByName.
Support required to build the Hexagon Linux kernel.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341331 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-03 17:59:10 +00:00
Matt Arsenault 24b52d3cc6 DAG: Handle extract_vector_elt in isKnownNeverNaN
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341317 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-03 14:01:03 +00:00
Carlos Alberto Enciso be799060e6 Test commit.
Revert change done in r341297. NFC.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341302 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-03 09:41:43 +00:00
Sander de Smalen 1d40abd282 Extend hasStoreToStackSlot with list of FI accesses.
For instructions that spill/fill to and from multiple frame-indices
in a single instruction, hasStoreToStackSlot and hasLoadFromStackSlot
should return an array of accesses, rather than just the first encounter
of such an access.

This better describes FI accesses for AArch64 (paired) LDP/STP
instructions.

Reviewers: t.p.northover, gberry, thegameg, rengolin, javed.absar, MatzeB

Reviewed By: MatzeB

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341301 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-03 09:15:58 +00:00
Carlos Alberto Enciso 66813d721c Test commit - adding a new line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341297 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-03 08:26:37 +00:00
QingShan Zhang 7cbb2dde80 [PowerPC] Add Itineraries of IIC_IntRotateDI for P7/P8
When doing some instruction scheduling work, we noticed some missing itineraries.
Before we switch to machine scheduler, those missing itineraries might not have impact to actually scheduling, 
because we can still get same latency due to default values.

With machine scheduler, however, itineraries will have impact to scheduling.
eg: NumMicroOps will default to be 0 if there is NO itineraries for specific instruction class.
And most of the instruction class with itineraries will have NumMicroOps default to 1.

This will has impact on the count of RetiredMOps, affects the Pending/Available Queue, 
then causing different scheduling or suboptimal scheduling further.

Patch by jsji (Jinsong Ji)
Differential Revision: https://reviews.llvm.org/D51506


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341293 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-03 03:14:29 +00:00
Roman Lebedev 41b17bcd0d [DAGCombine] optimizeSetCCOfSignedTruncationCheck(): handle inverted pattern
Summary:
A follow-up for D49266 / rL337166 + D49497 / rL338044.

This is still the same pattern to check for the [lack of]
signed truncation, but in this case the constants and the predicate
are negated.

https://rise4fun.com/Alive/BDV
https://rise4fun.com/Alive/n7Z

Reviewers: spatel, craig.topper, RKSimon, javed.absar, efriedma, dmgreen

Reviewed By: spatel

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341287 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-02 13:56:22 +00:00
Dylan McKay 001bbba7fe [AVR] Redefine the 'LSL' instruction as an alias of 'ADD'
The 'LSL Rd' instruction is equivalent to 'ADD Rd, Rd'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341278 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-01 12:23:00 +00:00
Dylan McKay 855b4f981a [AVR] Define the ROL instruction as an alias of ADC
The 'rol Rd' instruction is equivalent to 'adc Rd'.

This caused compile warnings from tablegen because of conflicting bits
shared between each instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341275 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-01 12:22:07 +00:00
Tom Stellard 051c613085 AMDGPU/GlobalISel: Define instruction mapping for G_SELECT
Reviewers: arsenm

Reviewed By: arsenm

Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, rovka, kristof.beyls, dstuttard, tpr, llvm-commits, t-tye

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341271 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-01 02:41:19 +00:00
Zhaoshi Zheng f6dfc5edb0 [Constant Hoisting] Hoisting Constant GEP Expressions
Leverage existing logic in constant hoisting pass to transform constant GEP
expressions sharing the same base global variable. Multi-dimensional GEPs are
rewritten into single-dimensional GEPs.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341269 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-01 00:04:56 +00:00
Stanislav Mekhanoshin 44c99af37e [AMDGPU] Split v32i32 loads
Differential Revision: https://reviews.llvm.org/D51555

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341266 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 22:43:36 +00:00
Craig Topper 3fad8a772e [X86] Add intrinsics for KTEST instructions.
These intrinsics use the same implementation as PTEST intrinsics, but use vXi1 vectors.

New clang builtins will be accompanying them shortly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341259 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 21:31:53 +00:00
Sid Manning 8a0d68fb02 [Hexagon] Add support for getRegisterByName.
Support required to build the Hexagon Linux kernel.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341238 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 19:08:23 +00:00
Craig Topper 3bdab0c31e [X86] Add support for turning vXi1 shuffles into KSHIFTL/KSHIFTR.
This patch recognizes shuffles that shift elements and fill with zeros. I've copied and modified the shift matching code we use for normal vector registers to do this. I'm not sure if there's a good way to share more of this code without making the existing function more complex than it already is.

This will be used to enable kshift intrinsics in clang.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341227 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 17:17:21 +00:00
Simon Atanasyan 3ecff60381 [mips] Fix mtc1 and mfc1 definitions for microMIPS R6
The `mtc1` and `mfc1` definitions in the MipsInstrFPU.td have MMRel,
but do not have StdMMR6Rel tags. When these instructions are emitted
for microMIPS R6 targets, `Mips::MipsR62MicroMipsR6` nor
`Mips::Std2MicroMipsR6` cannot find correct op-codes and as a result the
backend uses mips32 variant of the instructions encoding.

The patch fixes this problem by adding the StdMMR6Rel tag and check
instructions encoding in the test case.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341221 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 15:57:17 +00:00
Matt Arsenault 6241a83e35 AMDGPU: Restrict extract_vector_elt combine to loads
The intention is to enable the extract_vector_elt load combine,
and doing this for other operations interferes with more
useful optimizations on vectors.

Handle any type of load since in principle we should do the
same combine for the various load intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341219 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 15:39:52 +00:00
Matt Arsenault 9ee1996724 AMDGPU: Actually commit re-run of update_llc_test_checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341218 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 15:05:06 +00:00
Matt Arsenault d3da33bf59 AMDGPU: Fix broken generated check lines
This was incorrectly using the same check prefix for multiple lines

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341214 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 14:34:22 +00:00
Alexander Ivchenko a3d05d4460 [GlobalISel][X86] Add the support for G_FPTRUNC
Differential Revision: https://reviews.llvm.org/D49855


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341202 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 11:26:51 +00:00
Alexander Ivchenko 7764ab8163 [GlobalISel][X86_64] Support for G_FPTOSI
Differential Revision: https://reviews.llvm.org/D49183


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341200 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 11:16:58 +00:00
Alexander Ivchenko b9f4344b8a [GlobalIsel][X86] Support for llvm.trap intrinsic
Differential Revision: https://reviews.llvm.org/D49180


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341199 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 11:05:13 +00:00
Alexander Ivchenko e243598262 [GlobalIsel][X86] Support for G_FCMP
Differential Revision: https://reviews.llvm.org/D49172



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341193 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 09:38:27 +00:00
Roman Lebedev debd956b98 [NFC][X86][AArch64] A few more patterns for [lack of] signed truncation check pattern.[NFC][X86][AArch64] A few more patterns for [lack of] signed truncation check pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341188 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 08:52:03 +00:00
Andrea Di Biagio 53c157a290 [X86][BtVer2] Fix WriteFShuffle256 schedule write info.
This patch fixes the number of micro opcodes, and processor resource cycles for
the following AVX instructions:

vinsertf128rr/rm
vperm2f128rr/rm
vbroadcastf128

Tests have been regenerated using the usual scripts in the llvm/utils directory.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341185 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 08:30:47 +00:00
Martin Storsjo d67818ff54 [MinGW] [ARM] Add stubs for potential automatic dllimported variables
The runtime pseudo relocations can't handle the ARM format embedded
addresses in movw/movt pairs. By using stubs, the potentially
dllimported addresses can be touched up by the runtime pseudo relocation
framework.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341176 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 08:00:25 +00:00
Craig Topper 2916e45b74 [X86] Add a -x86-experimental-vector-widening command line to vec_fp_to_int.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341173 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 07:05:38 +00:00
Craig Topper 5b83d05dba [X86] Add -x86-experimental-vector-widening-legalization run line to avx512-cvt.ll
This will cover the (v2i32 (setcc v2f32)) case in replaceNodeResults. That code shouldn't be needed at all in this mode. A future patch will skip it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341171 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 07:05:36 +00:00
Matt Arsenault 54c2fe982a AMDGPU: Remove obsolete tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341169 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 06:07:45 +00:00
Matt Arsenault c8c005cb52 AMDGPU: Stop forcing internalize at -O0
This doesn't really matter if clang is always emitting
the visibility as hidden by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341168 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 06:02:36 +00:00
Matt Arsenault 7e212e4168 AMDGPU: Remove remnants of old address space mapping
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341165 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31 05:49:54 +00:00
Michael Berg 24ef0d5262 [NFC] adding initial intersect test for Node to Instruction association
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341138 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-30 22:43:34 +00:00
Krzysztof Parzyszek 07df95450a [Hexagon] Check validity of register class when generating bitsplit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341137 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-30 22:26:43 +00:00
Thomas Lively 9f6fab911b [WebAssembly] Vector conversions
Summary:
Lowers away bitconverts between vector types. This CL depends
on D51383.

Reviewers: aheejin, dschuff

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

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341128 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-30 21:43:51 +00:00
Thomas Lively 40d40d8e3a [WebAssembly] SIMD loads and stores
Summary: Reuse the patterns from WebAssemblyInstrMemory.td.

Reviewers: aheejin, dschuff

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

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341127 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-30 21:36:48 +00:00