121759 Commits

Author SHA1 Message Date
Sanjay Patel
16098c386c add tests for De Morgan instcombines based on PR22723
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247040 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 18:13:03 +00:00
Sanjay Patel
c832b3af78 fix typos, remove noise; NFCI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247035 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 17:58:22 +00:00
Kostya Serebryany
828d315fd6 [libFuzzer] better documentatio for -save_minimized_corpus=1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247033 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 17:43:51 +00:00
Vedant Kumar
32a41ddf2d [Bitcode] Add compatibility test for llvm 3.7.0
This patch adds llvm-3.7 IR and generated bitcode for our compatibility
test (in accordance with the developer policy).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247031 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 17:39:21 +00:00
Kostya Serebryany
06465a68cc [libFuzzer] remove -iterations as redundant (there is also -num_runs)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247030 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 17:30:35 +00:00
JF Bastien
13b1346197 WebAssembly: NFC rename shr/sar
Renamed from: https://github.com/WebAssembly/design/pull/332

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247028 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 17:21:21 +00:00
Kostya Serebryany
872c556fa8 [libFuzzer] add one more mutator: Mutate_ChangeASCIIInteger
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247027 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 17:19:31 +00:00
Jun Bum Lim
3d88beedef Remove white space (test commit)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247021 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 16:11:22 +00:00
Zoran Jovanovic
7e31683981 [mips][microMIPS] Implement LLE, LUI, LW and LWE instructions
Differential Revision: http://reviews.llvm.org/D1179


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247017 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 15:02:50 +00:00
Dan Gohman
5710177500 [WebAssembly] Temporarily disable this test, as it depends on additional patches that aren't yet checked in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247011 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 13:21:12 +00:00
Igor Breger
b23094366e AVX512: kunpck encoding implementation
Added tests for encoding.

Differential Revision: http://reviews.llvm.org/D12061

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247010 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 13:10:00 +00:00
Dan Gohman
2e6ca7df3a [WebAssembly] Enable SSA lowering and other pre-regalloc passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247008 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 12:39:25 +00:00
Elena Demikhovsky
1c82e5f791 Removed an old comment, NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247006 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 12:22:22 +00:00
Alex Lorenz
0aeea88439 MIRLangRef: Add documentation for the subregister indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247005 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 11:39:47 +00:00
Alex Lorenz
1fd577388c MIRLangRef: Add documentation for the global value machine operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247004 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 11:38:16 +00:00
Zoran Jovanovic
3acfef5bd3 [mips][microMIPS] Implement SB, SBE, SCE, SH and SHE instructions
Differential Revision: http://reviews.llvm.org/D11801


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246999 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 10:18:38 +00:00
Jakub Kuderski
df54160123 There is a trunc(lshr (zext A), Cst) optimization in InstCombineCasts that
removes cast by performing the lshr on smaller types. However, currently there
is no trunc(lshr (sext A), Cst) variant.
This patch add such optimization by transforming trunc(lshr (sext A), Cst)
to ashr A, Cst.

Differential Revision: http://reviews.llvm.org/D12520


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246997 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 10:03:17 +00:00
Daniel Sanders
41517aa3f4 [mips] Reserve address spaces 1-255 for software use.
Summary: And define them to have noop casts with address spaces 0-255.

Reviewers: pekka.jaaskelainen

Subscribers: pekka.jaaskelainen, llvm-commits

Differential Revision: http://reviews.llvm.org/D12678

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246990 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 09:07:03 +00:00
Zoran Jovanovic
0697651ac5 [mips][microMIPS] Add microMIPS32r6 and microMIPS64r6 tests for existing 16-bit LBU16, LHU16, LW16, LWGP and LWSP instructions
Differential Revision: http://reviews.llvm.org/D10956


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246987 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 08:25:34 +00:00
NAKAMURA Takumi
7341392080 [CMake][CMP0051] Avoid for user of objlib to use llvm_update_compile_flags().
$<TARGET_OBJECTS> shouldn't require compile flags. Flags are set in obj.${name}.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246984 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 07:42:06 +00:00
Elena Demikhovsky
27828d7a5e compilation issue, NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246983 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 07:34:06 +00:00
Elena Demikhovsky
758b9df87a fixed compilation issue, NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246982 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 07:10:08 +00:00
Elena Demikhovsky
1e00496f88 AVX-512: Lowering for 512-bit vector shuffles.
Vector types: <8 x 64>, <16 x 32>, <32 x 16> float and integer.

Differential Revision: http://reviews.llvm.org/D10683



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246981 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-08 06:38:21 +00:00
Davide Italiano
2206b4bc38 [llvm-readobj] Shrink code a little bit. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246976 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-07 20:47:03 +00:00
Sanjay Patel
c9e28b8434 add missing regression tests for De Morgan's Law transform in InstCombine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246973 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-07 19:00:38 +00:00
Zoran Jovanovic
11768ab081 [mips][microMIPS] Implement ABS.fmt, CEIL.L.fmt, CEIL.W.fmt, FLOOR.L.fmt, FLOOR.W.fmt, TRUNC.L.fmt, TRUNC.W.fmt, RSQRT.fmt and SQRT.fmt instructions
Differential Revision: http://reviews.llvm.org/D11674


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246968 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-07 13:01:04 +00:00
Zoran Jovanovic
75a08f5633 [mips][microMIPS] Implement BC16, BEQZC16 and BNEZC16 instructions
Differential Revision: http://reviews.llvm.org/D11181


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246963 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-07 11:56:37 +00:00
John Brawn
1c9fa60e24 [ARM] Get rid of SelectT2ShifterOperandReg, NFC
SelectT2ShifterOperandReg has identical behaviour to SelectImmShifterOperand,
so get rid of it and use SelectImmShifterOperand instead.

Differential Revision: http://reviews.llvm.org/D12195


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246962 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-07 11:45:18 +00:00
Zoran Jovanovic
f390c2eb39 [mips][microMIPS] Implement CVT.D.fmt, CVT.L.fmt, CVT.S.fmt, CVT.W.fmt, MAX.fmt, MIN.fmt, MAXA.fmt, MINA.fmt and CMP.condn.fmt instructions
Differential Revision: http://reviews.llvm.org/D12141


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246960 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-07 10:31:31 +00:00
David Majnemer
a35911994e CODE_OWNERS.TXT is supposed to be sorted by surname
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246954 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-07 00:41:40 +00:00
NAKAMURA Takumi
c315a08fee Prune utf8 chars in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246953 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-07 00:26:54 +00:00
Simon Pilgrim
ec601bafc2 [X86][MMX] Added missing stack folding tests for MMX/SSSE3 instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246949 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-06 17:50:15 +00:00
Simon Pilgrim
d2f59e04e0 [X86][AVX512] Added 512-bit vector shift tests.
Only works for avx512f (dq) targets so far - need to add avx512bw tests once char/short shifts are supported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246943 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-06 13:36:32 +00:00
David Majnemer
8e3ed0b6bc [InstCombine] Don't divide by zero when evaluating a potential transform
Trivial multiplication by zero may survive the worklist.  We tried to
reassociate the multiplication with a division instruction, causing us
to divide by zero; bail out instead.

This fixes PR24726.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246939 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-06 06:49:59 +00:00
Hal Finkel
987b4b6f61 [SelectionDAG] Swap commutative binops before constant-based folding
In searching for a fix for the underlying code-quality bug highlighted by
r246937 (that SDAG simplification can lead to us generating an ISD::OR node
with a constant zero LHS), I ran across this:

We generically canonicalize commutative binary-operation nodes in SDAG getNode
so that, if only one operand is a constant, it will be on the RHS.  However, we
were doing this only after a bunch of constant-based simplification checks that
all assume this canonical form (that any constant will be on the RHS). Moving
the operand-swapping canonicalization prior to these checks seems like the
right thing to do (and, as it turns out, causes SDAG to completely fold away the
computation in test/CodeGen/ARM/2012-11-14-subs_carry.ll, just like InstCombine
would do).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246938 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-06 05:42:13 +00:00
Hal Finkel
9f11e5da34 [PowerPC] Don't commute trivial rlwimi instructions
To commute a trivial rlwimi instructions (meaning one with a full mask and zero
shift), we'd need to ability to form an all-zero mask (instead of an all-one
mask) using rlwimi. We can't represent this, however, and we'll miscompile code
if we try.

The code quality problem that this highlights (that SDAG simplification can
lead to us generating an ISD::OR node with a constant zero LHS) will be fixed
as a follow-up.

Fixes PR24719.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246937 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-06 04:17:30 +00:00
Craig Topper
cb52ea5f9d [TableGen] Use make_unique. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246936 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-06 03:44:50 +00:00
Andrew Wilkins
46dd28e2c0 [bindings] Update Go bindings to DIBuilder
Summary:
Update the Go bindings to DIBuilder to match
the split of creating local variables into
auto and parameter variables.

Reviewers: pcc

Subscribers: llvm-commits, axw

Differential Revision: http://reviews.llvm.org/D11864

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246935 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-06 02:22:15 +00:00
David Majnemer
6456d06226 [InstCombine] Don't assume m_Mul gives back an Instruction
This fixes PR24713.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246933 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 20:44:56 +00:00
Alexandros Lamprineas
1955b207be Added arch extensions and default target features in TargetParser.
Differential: http://reviews.llvm.org/D11590

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246930 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 17:05:33 +00:00
Simon Pilgrim
1f3857aad1 [X86] Updated vector lzcnt tests. Added missing vec512 tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246927 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 11:56:30 +00:00
Simon Pilgrim
5fcf28d211 [X86] Updated vector tzcnt tests. Added vec512 tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246922 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 10:19:07 +00:00
Simon Pilgrim
9929109416 [X86] Updated vector popcnt tests. Added vec512 tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246921 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 09:59:59 +00:00
Zoran Jovanovic
2dc8c071ac [mips][microMIPS] Implement ADD.fmt, SUB.fmt, MOV.fmt, MUL.fmt, DIV.fmt, MADDF.fmt, MSUBF.fmt and NEG.fmt instructions
Differential Revision: http://reviews.llvm.org/D11978


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246919 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 09:25:30 +00:00
Andrew Wilkins
f5148ebe0a [cmake] rework LLVM_LINK_LLVM_DYLIB option handling
Summary:
This diff attempts to address the concerns raised in
http://reviews.llvm.org/D12488.

We introduce a new USE_SHARED option to llvm_config,
which, if set, causes the target to be linked against
libLLVM.

add_llvm_utility now uniformly disables linking against
libLLVM. These utilities are not intended for distribution,
and this keeps the option handling more centralised.

llvm-shlib is now processes before any other "tools"
subdirectories, ensuring the libLLVM target is defined
before its dependents.

One main difference from what was requested: llvm_config
does not prune LLVM_DYLIB_COMPONENTS from the components
passed into explicit_llvm_config. This is because the "all"
component does something special, adding additional
libraries (namely libLTO). Adding the component libraries
after libLLVM should not be a problem, as symbols will be
resolved in libLLVM first.

Finally, I'm not really happy with the
DISABLE_LLVM_LINK_LLVM option, but I'm not sure of a
better way to get the following:
 - link all tools and shared libraries to libLLVM if
   LLVM_LINK_LLVM_DYLIB is set
 - some way of explicitly *not* doing so for utilities
   and libLLVM itself
Suggestions for improvement here are particularly welcome.

Reviewers: beanz

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D12590

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246918 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 08:27:33 +00:00
Craig Topper
d2288b28e1 Fix build warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246908 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 04:49:44 +00:00
NAKAMURA Takumi
455c3d818a WinCOFFObjectWriter.cpp: Roll back TimeDateStamp along ENABLE_TIMESTAMPS.
We want a deterministic output. GNU AS leaves it zero.

FIXME: It may be optional by its user, like llc and clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246905 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 01:17:49 +00:00
Davide Italiano
537f16ebe4 [MC] Convert other MachO tests from macho-dump to llvm-readobj.
This commit accomplish two goals:
1) it's a step forward to deprecate macho-dump, now less than 40 tests
rely on it.

2) It tests all the MachO specific features introduced in llvm-readobj in
the following commits:  r246789, r246665, r246474.

While the conversion is mostly mechanical (I double-checked all the
tests output one by one, but still), a post-commit review is greatly
appreciated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246904 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 01:02:05 +00:00
Andrew Kaylor
b6a09c7428 Fix build warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246903 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 01:00:51 +00:00
Hal Finkel
6d7a4a2886 [PowerPC] Fix and(or(x, c1), c2) -> rlwimi generation
PPCISelDAGToDAG has a transformation that generates a rlwimi instruction from
an input pattern that looks like this:

  and(or(x, c1), c2)

but the associated logic does not work if there are bits that are 1 in c1 but 0
in c2 (these are normally canonicalized away, but that can't happen if the 'or'
has other users. Make sure we abort the transformation if such bits are
discovered.

Fixes PR24704.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246900 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-05 00:02:59 +00:00