OSDN Git Service

android-x86/external-llvm.git
8 years ago[LVI] Introduce an intersect operation on lattice values
Philip Reames [Tue, 2 Feb 2016 03:15:40 +0000 (03:15 +0000)]
[LVI] Introduce an intersect operation on lattice values

LVI has several separate sources of facts - edge local conditions, recursive queries, assumes, and control independent value facts - which all apply to the same value at the same location. The existing implementation was very conservative about exploiting all of these facts at once.

This change introduces an "intersect" function specifically to abstract the action of picking a good set of facts from all of the separate facts given. At the moment, this function is relatively simple (i.e. mostly just reuses the bits which were already there), but even the minor additions reveal the inherent power. For example, JumpThreading is now capable of doing an inductive proof that a particular value is always positive and removing a half range check.

I'm currently only using the new intersect function in one place. If folks are happy with the direction of the work, I plan on making a series of small changes without review to replace mergeIn with intersect at all the appropriate places.

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

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

8 years ago[libFuzzer] allow passing 1 or more files as individual inputs
Kostya Serebryany [Tue, 2 Feb 2016 03:03:47 +0000 (03:03 +0000)]
[libFuzzer] allow passing 1 or more files as individual inputs

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

8 years agoMachineVerifier: Use report_context() instead of ad-hoc messages.
Matthias Braun [Tue, 2 Feb 2016 02:44:25 +0000 (02:44 +0000)]
MachineVerifier: Use report_context() instead of ad-hoc messages.

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

8 years ago[X86] Fix a bug in getMemOpBaseRegImmOfs
Sanjoy Das [Tue, 2 Feb 2016 02:32:43 +0000 (02:32 +0000)]
[X86] Fix a bug in getMemOpBaseRegImmOfs

Fix a crash in `getMemOpBaseRegImmOfs` that happens if the base of
`MemOp` is a frame index memory operand.  The fix is to have
`getMemOpBaseRegImmOfs` bail out in such cases.  We can possibly be more
clever here, if needed.

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

8 years ago[libFuzzer] fail if the corpus dir does not exist
Kostya Serebryany [Tue, 2 Feb 2016 02:07:26 +0000 (02:07 +0000)]
[libFuzzer] fail if the corpus dir does not exist

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

8 years ago[X86][FastISel] Don't force Nearest-Even rounding for VCVTPS2PH, use MXCSR.
Ahmed Bougacha [Tue, 2 Feb 2016 01:44:03 +0000 (01:44 +0000)]
[X86][FastISel] Don't force Nearest-Even rounding for VCVTPS2PH, use MXCSR.

FastISel counterpart to r259448.

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

8 years ago[X86] Don't force Nearest-Even rounding for VCVTPS2PH, use MXCSR.
Ahmed Bougacha [Tue, 2 Feb 2016 01:32:50 +0000 (01:32 +0000)]
[X86] Don't force Nearest-Even rounding for VCVTPS2PH, use MXCSR.

Officially, we don't acknowledge non-default configurations of MXCSR,
as getting there would require usage of the FENV_ACCESS pragma (at
least insofar as rounding mode is concerned).

We don't support the pragma, so we can assume that the default
rounding mode - round to nearest, ties to even - is always used.

However, it's inconsistent with the rest of the instruction set,
where MXCSR is always effective (unless otherwise specified).
Also, it's an unnecessary obstacle to the few brave souls that use
fenv.h with LLVM.

Avoid the hard-coded rounding mode for fp_to_f16; use MXCSR instead.

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

8 years ago[safestack] Make sure the unsafe stack pointer is popped in all cases
Anna Zaks [Tue, 2 Feb 2016 01:03:11 +0000 (01:03 +0000)]
[safestack] Make sure the unsafe stack pointer is popped in all cases

The unsafe stack pointer is only popped in moveStaticAllocasToUnsafeStack so it won't happen if there are no static allocas.

Fixes https://llvm.org/bugs/show_bug.cgi?id=26122

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

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

8 years ago[LVI] Fix a latent bug in getValueAt
Philip Reames [Tue, 2 Feb 2016 00:45:30 +0000 (00:45 +0000)]
[LVI] Fix a latent bug in getValueAt

This routine was returning Undefined for most queries.  This was utterly wrong.  Amusingly, we do not appear to have any callers of this which are actually trying to exploit unreachable code or this would have broken the world.

A better approach would be to explicit describe the intersection of facts.  That's blocked behind http://reviews.llvm.org/D14476 and I wanted to fix the current bug.

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

8 years agofix typos; NFC
Sanjay Patel [Mon, 1 Feb 2016 23:53:35 +0000 (23:53 +0000)]
fix typos; NFC

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

8 years ago[LVI] Missing test case from 259432
Philip Reames [Mon, 1 Feb 2016 23:44:38 +0000 (23:44 +0000)]
[LVI] Missing test case from 259432

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

8 years agoAdd test for PR26419 (stable function summary ordering)
Teresa Johnson [Mon, 1 Feb 2016 23:26:30 +0000 (23:26 +0000)]
Add test for PR26419 (stable function summary ordering)

Enhance an existing test to also check that the ordering of the function
summary entries is stable.

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

8 years ago[LVI] Remove overly tight assert from 259429
Philip Reames [Mon, 1 Feb 2016 23:21:11 +0000 (23:21 +0000)]
[LVI] Remove overly tight assert from 259429

I'll submit a test case shortly which covers this, but it's causing clang self host problems in the builders so I wanted to get it removed.

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

8 years ago[X86][AVX512] Add support for AVX512 VMOVD (load) shuffle decoding
Simon Pilgrim [Mon, 1 Feb 2016 23:04:05 +0000 (23:04 +0000)]
[X86][AVX512] Add support for AVX512 VMOVD (load) shuffle decoding

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

8 years ago[LVI] Add select handling
Philip Reames [Mon, 1 Feb 2016 22:57:53 +0000 (22:57 +0000)]
[LVI] Add select handling

Teach LVI to handle select instructions in the exact same way it handles PHI nodes.  This is useful since various parts of the optimizer convert PHI nodes into selects and we don't want these transformations to cause inferior optimization.

Note that this patch does nothing to exploit the implied constraint on the inputs represented by the select condition itself.  That will be a later patch and is blocked on http://reviews.llvm.org/D14476

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

8 years ago[X86][AVX512] Add support for AVX512 VMOVSD/VMOVSS shuffle decoding
Simon Pilgrim [Mon, 1 Feb 2016 22:26:28 +0000 (22:26 +0000)]
[X86][AVX512] Add support for AVX512 VMOVSD/VMOVSS shuffle decoding

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

8 years agofunction names start with a lowercase letter; NFC
Sanjay Patel [Mon, 1 Feb 2016 22:23:39 +0000 (22:23 +0000)]
function names start with a lowercase letter; NFC

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

8 years ago[InstCombine] simplify masked scatter/gather intrinsics with zero masks
Sanjay Patel [Mon, 1 Feb 2016 22:10:26 +0000 (22:10 +0000)]
[InstCombine] simplify masked scatter/gather intrinsics with zero masks

A masked scatter with a zero mask means there's no store.
A masked gather with a zero mask means the passthru arg is returned.

This is a continuation of:
http://reviews.llvm.org/rL259369
http://reviews.llvm.org/rL259392

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

8 years ago[X86][AVX512] Add support for AVX512 VINSERTPS shuffle decoding
Simon Pilgrim [Mon, 1 Feb 2016 22:05:50 +0000 (22:05 +0000)]
[X86][AVX512] Add support for AVX512 VINSERTPS shuffle decoding

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

8 years agoSmallSet/SmallPtrSet: Refuse huge Small numbers
Matthias Braun [Mon, 1 Feb 2016 22:05:16 +0000 (22:05 +0000)]
SmallSet/SmallPtrSet: Refuse huge Small numbers

These sets do linear searching in small mode; It is not a good idea to
use huge numbers as the small value here, save people from themselves by
adding a static_assert.

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

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

8 years ago[X86][SSE] Regenerated load vector + element extraction tests.
Simon Pilgrim [Mon, 1 Feb 2016 21:46:12 +0000 (21:46 +0000)]
[X86][SSE] Regenerated load vector + element extraction tests.

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

8 years agoMove comments a bit closer to associated code. NFC.
Chad Rosier [Mon, 1 Feb 2016 21:38:31 +0000 (21:38 +0000)]
Move comments a bit closer to associated code. NFC.

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

8 years ago[X86][SSE] Add AVX512 merge consecutive load tests
Simon Pilgrim [Mon, 1 Feb 2016 21:30:50 +0000 (21:30 +0000)]
[X86][SSE] Add AVX512 merge consecutive load tests

Add AVX512F/AVX512BW 512-bit tests.

Add AVX512F tests to existing 128/256-bit tests.

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

8 years agoRegenerate vector blend tests.
Simon Pilgrim [Mon, 1 Feb 2016 21:06:32 +0000 (21:06 +0000)]
Regenerate vector blend tests.

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

8 years agoRegenerate vector sext/zext constant folding tests.
Simon Pilgrim [Mon, 1 Feb 2016 21:01:29 +0000 (21:01 +0000)]
Regenerate vector sext/zext constant folding tests.

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

8 years agoAvoid inlining call sites in unreachable-terminated block
Jun Bum Lim [Mon, 1 Feb 2016 20:55:11 +0000 (20:55 +0000)]
Avoid inlining call sites in unreachable-terminated block

Summary:
If the normal destination of the invoke or the parent block of the call site is unreachable-terminated, there is little point in inlining the call site unless there is literally zero cost. Unlike my previous change (D15289), this change specifically handle the call sites followed by unreachable in the same basic block for call or in the normal destination for the invoke. This change could be a reasonable first step to conservatively inline call sites leading to an unreachable-terminated block while BFI / BPI is not yet available in inliner.

Reviewers: manmanren, majnemer, hfinkel, davidxl, mcrosier, dblaikie, eraman

Subscribers: dblaikie, davidxl, mcrosier, llvm-commits

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

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

8 years agoRemove extra semicolon. NFC.
Chad Rosier [Mon, 1 Feb 2016 20:54:36 +0000 (20:54 +0000)]
Remove extra semicolon. NFC.

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

8 years ago[SCEV] Clean up isKnownPredicateViaConstantRanges; NFCI
Sanjoy Das [Mon, 1 Feb 2016 20:48:14 +0000 (20:48 +0000)]
[SCEV] Clean up isKnownPredicateViaConstantRanges; NFCI

 - ScalarEvolution::isKnownPredicateViaConstantRanges duplicates some
   logic already present in ConstantRange, use ConstantRange for those
   bits.

 - In some cases ScalarEvolution::isKnownPredicateViaConstantRanges
   returns `false` to mean "definitely false" (e.g. see the
   `LHSRange.getSignedMin().sge(RHSRange.getSignedMax())` case for
   `ICmpInst::ICMP_SLT`), but for `isKnownPredicateViaConstantRanges`,
   `false` actually means "don't know".  Get rid of this extra bit of
   code to avoid confusion.

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

8 years ago[SCEV] Rename isKnownPredicateWithRanges; NFC
Sanjoy Das [Mon, 1 Feb 2016 20:48:10 +0000 (20:48 +0000)]
[SCEV] Rename isKnownPredicateWithRanges; NFC

Make it obvious that it uses constant ranges, and use `Via` instead of
`With`, like other similar functions in SCEV.

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

8 years agoFix infinite recursion in MCAsmStreamer::EmitValueImpl.
Rafael Espindola [Mon, 1 Feb 2016 20:36:49 +0000 (20:36 +0000)]
Fix infinite recursion in MCAsmStreamer::EmitValueImpl.

If a target can only emit 8-bits data, we would loop in EmitValueImpl
since it will try to split a 32-bits data in 1 chunk of 32-bits.

No test since all current targets can emit 32bits at a time.

Patch by Alexandru Guduleasa!

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

8 years ago[ThinLTO] Ensure function summary output order is stable
Teresa Johnson [Mon, 1 Feb 2016 20:16:35 +0000 (20:16 +0000)]
[ThinLTO] Ensure function summary output order is stable

Iterate over the function list instead of a DenseMap of Function pointers
when emitting the function summary into the module.

This fixes PR26419.

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

8 years agoAdd a test for r258362.
Rafael Espindola [Mon, 1 Feb 2016 19:56:12 +0000 (19:56 +0000)]
Add a test for r258362.

Thanks to Mehdi for finding it.

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

8 years ago[InstCombine] simplify masked store intrinsics with all ones or zeros masks
Sanjay Patel [Mon, 1 Feb 2016 19:39:52 +0000 (19:39 +0000)]
[InstCombine] simplify masked store intrinsics with all ones or zeros masks

A masked store with a zero mask means there's no store.
A masked store with an allOnes mask means it's a normal vector store.

This is a continuation of:
http://reviews.llvm.org/rL259369

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

8 years ago[llvm-nm] Simplify the code a bit. NFCI.
Davide Italiano [Mon, 1 Feb 2016 19:22:16 +0000 (19:22 +0000)]
[llvm-nm] Simplify the code a bit. NFCI.

Fix a style violation while I'm here.

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

8 years agoAArch64: Implement missed conditional compare sequences.
Balaram Makam [Mon, 1 Feb 2016 19:13:07 +0000 (19:13 +0000)]
AArch64: Implement missed conditional compare sequences.

Summary:
This is an extension to the existing implementation of r242436 which
restricts to only select inputs. This version fixes missed opportunities
in pr26084 by attempting to lower conditional compare sequences of
and/or trees with setcc leafs. This will additionaly handle the case
when a tree with select input is not a conjunction-disjunction tree
but some of the sub trees are conjunction-disjunction trees.

Reviewers: jmolloy, t.p.northover, mcrosier, MatzeB

Subscribers: mcrosier, llvm-commits, junbuml, haicheng, mssimpso, gberry

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

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

8 years agoAdd test case missing from r259357 (NFC)
Matthew Simpson [Mon, 1 Feb 2016 19:09:24 +0000 (19:09 +0000)]
Add test case missing from r259357 (NFC)

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

8 years ago[AArch64] Simplify prolog/epilog callee save/restore. NFC.
Geoff Berry [Mon, 1 Feb 2016 19:07:06 +0000 (19:07 +0000)]
[AArch64] Simplify prolog/epilog callee save/restore. NFC.

Summary:
Factor out common code for callee-save register pair calculation.  This
is intended to simplify follow-on changes that reduce the number of
registers saved/restored.

Depends on D16732

Reviewers: mcrosier, jmolloy, t.p.northover

Subscribers: aemerson, rengolin, mcrosier, llvm-commits

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

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

8 years ago[SystemZ] Fix wrong-code generation for certain always-false conditions
Ulrich Weigand [Mon, 1 Feb 2016 18:31:19 +0000 (18:31 +0000)]
[SystemZ] Fix wrong-code generation for certain always-false conditions

We've found another bug in the code generation logic conditions for a
certain class of always-false conditions, those of the form
   if ((a & 1) < 0)

These only reach the back end when compiling without optimization.

The bug was introduced by the choice of using TEST UNDER MASK
to implement a check for
   if ((a & MASK) < VAL)
as
   if ((a & MASK) == 0)

where VAL is less than the the lowest bit of MASK.  This is correct
in all cases except for VAL == 0, in which case the original
condition is always false, but the replacement isn't.

Fixed by excluding that particular case.

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

8 years ago[NFC] Referencing manual for reason why subregbit is checked
Colin LeMahieu [Mon, 1 Feb 2016 18:15:39 +0000 (18:15 +0000)]
[NFC] Referencing manual for reason why subregbit is checked

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

8 years agofix broken check lines
Sanjay Patel [Mon, 1 Feb 2016 17:46:18 +0000 (17:46 +0000)]
fix broken check lines

Without the colon, it doesn't mean anything!

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

8 years ago[InstCombine] Don't transform (X+INT_MAX)>=(Y+INT_MAX) -> (X<=Y)
David Majnemer [Mon, 1 Feb 2016 17:37:56 +0000 (17:37 +0000)]
[InstCombine] Don't transform (X+INT_MAX)>=(Y+INT_MAX) -> (X<=Y)

This miscompile came about because we tried to use a transform which was
only appropriate for xor operators when addition was present.

This fixes PR26407.

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

8 years ago[ValueTracking] Improve isKnownNonZero for PHI of non-zero constants
Jun Bum Lim [Mon, 1 Feb 2016 17:03:07 +0000 (17:03 +0000)]
[ValueTracking] Improve isKnownNonZero for PHI of non-zero constants

It is clear that a PHI is a non-zero if all incoming values are non-zero constants.

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

8 years ago[InstCombine] simplify masked load intrinsics with all ones or zeros masks
Sanjay Patel [Mon, 1 Feb 2016 17:00:10 +0000 (17:00 +0000)]
[InstCombine] simplify masked load intrinsics with all ones or zeros masks

A masked load with a zero mask means there's no load.
A masked load with an allOnes mask means it's a normal vector load.

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

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

8 years ago[PrologEpilogInserter] Add some debug output for callee-save frame object allocation
Geoff Berry [Mon, 1 Feb 2016 16:47:51 +0000 (16:47 +0000)]
[PrologEpilogInserter] Add some debug output for callee-save frame object allocation

Reviewers: mcrosier

Subscribers: mcrosier, llvm-commits

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

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

8 years ago[AArch64] Simplify callee-save register save/restore. NFC.
Geoff Berry [Mon, 1 Feb 2016 16:29:19 +0000 (16:29 +0000)]
[AArch64] Simplify callee-save register save/restore. NFC.

Summary:
Simplify callee-save register save/restore code generation by
remembering the size of the callee-save area when it is computed so we
don't have to scan the prologue/epilogue instructions again later to
reconstruct it.

This is intended to simplify follow-on changes that reduce the number of
registers saved/restored.

Reviewers: mcrosier, jmolloy, t.p.northover

Subscribers: aemerson, rengolin, mcrosier, llvm-commits

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

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

8 years ago[LV] Rename RdxPHIsToFix to PHIsToFix (NFC)
Matthew Simpson [Mon, 1 Feb 2016 16:07:01 +0000 (16:07 +0000)]
[LV] Rename RdxPHIsToFix to PHIsToFix (NFC)

In the future, we will vectorize recurrences other than reductions. This patch
renames a few variables and updates their associated comments to enable them to
be reused for non-reduction PHI nodes.

This change was requested in the review for D16197.

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

8 years ago[X86][AVX512VBMI] add encoding and intrinsics for Multishift
Asaf Badouh [Mon, 1 Feb 2016 15:48:21 +0000 (15:48 +0000)]
[X86][AVX512VBMI] add encoding and intrinsics for Multishift

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

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

8 years ago[mips] Split large test file into 3 smaller ones.
Vasileios Kalintiris [Mon, 1 Feb 2016 15:19:35 +0000 (15:19 +0000)]
[mips] Split large test file into 3 smaller ones.

Remove the old select.ll file and use select-int.ll, select-flt.ll,
select-dbl.ll for testing selects on integers, floats & doubles respectivelly.

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

8 years ago[mips] Range check uimm16 and fix several bugs this revealed.
Daniel Sanders [Mon, 1 Feb 2016 15:13:31 +0000 (15:13 +0000)]
[mips] Range check uimm16 and fix several bugs this revealed.

Summary:
The bugs were:
* teq and similar take 4-bit unsigned immediates on microMIPS.
* teqi and similar have side-effects like teq do.
* shll_s.w and shra_r.w take 5-bit unsigned immediates.
* The various DSP ext* instructions take a 5-bit immediate.
* repl.qh takes an 8-bit unsigned immediate.
* repl.ph takes a 10-bit unsigned immediate.
* rddsp/wrdsp take a 10-bit unsigned immediate.
* teqi and similar take signed 16-bit immediates (10-bit for microMIPS).
* Out-of-range immediate macros for or/xor take a simm32/simm64 depending
  on architecture. I'll fix the simm64 case properly when I reach simm32.

lui is a bit more lenient than GAS and accepts signed immediates in addition
to unsigned. This is because MipsMCExpr can produce signed values when
constant folding and it currently lacks a way of knowing it should fold to
an unsigned value.

Reviewers: vkalintiris

Subscribers: dsanders, llvm-commits

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

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

8 years agoImproved macro emission in dwarf.
Amjad Aboud [Mon, 1 Feb 2016 14:09:41 +0000 (14:09 +0000)]
Improved macro emission in dwarf.
Changed emitting offset of macinfo entry into compiler unit DIE to use "addSectionLabel" method rather than explicitly calculating size/offset of macro entry.

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

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

8 years agoReapply commit r258404 with fix.
Matthew Simpson [Mon, 1 Feb 2016 13:38:29 +0000 (13:38 +0000)]
Reapply commit r258404 with fix.

The previous patch caused PR26364. The fix is to ensure that we don't enter a
cycle when iterating over use-def chains.

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

8 years agoWebAssembly NFC: simplify control flow
JF Bastien [Mon, 1 Feb 2016 10:46:16 +0000 (10:46 +0000)]
WebAssembly NFC: simplify control flow

This should now be easier to read.

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

8 years agoDWARF RenderScript vendor extension
Ewan Crawford [Mon, 1 Feb 2016 10:39:24 +0000 (10:39 +0000)]
DWARF RenderScript vendor extension

Patch adds a DWARF language vendor extension for RenderScript.
We are already using this identifier in LLDB with a hard coded value, so it's preferable to use a LLVM generated enum instead.
The language is intended to be added to the next version of the standard.
See http://www.dwarfstd.org/ShowIssue.php?issue=150331.1

Reviewers:  dexonsmith, echristo
Subscribers: probinson domipheus, srhines, llvm-commits
Differential Revision: http://reviews.llvm.org/D16409

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

8 years agoAVX512: fix mask handling for gather/scatter/prefetch intrinsics.
Igor Breger [Mon, 1 Feb 2016 09:57:15 +0000 (09:57 +0000)]
AVX512: fix mask handling for gather/scatter/prefetch intrinsics.

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

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

8 years ago[X86][SSE] Find source of the inserted element of INSERTPS
Simon Pilgrim [Mon, 1 Feb 2016 08:59:30 +0000 (08:59 +0000)]
[X86][SSE] Find source of the inserted element of INSERTPS

Minor patch to trace back through target shuffles to the source of the inserted element in a (V)INSERTPS shuffle.

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

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

8 years agoAVX512 : Fix SETCCE lowering for KNL 32 bit.
Igor Breger [Mon, 1 Feb 2016 07:56:09 +0000 (07:56 +0000)]
AVX512 : Fix SETCCE lowering for KNL 32 bit.

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

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

8 years ago[dsymutil] Skip mach-o paired relocations
Frederic Riss [Mon, 1 Feb 2016 04:43:14 +0000 (04:43 +0000)]
[dsymutil] Skip mach-o paired relocations

Noticed while working on scattered relocations.
I do not think these relocs can actually happen in the debug_info section,
but if they happen the code would mishandle them. Explicitely skip them
and warn if we encounter one.

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

8 years ago[X86] Cleanup the WinEHState pass
David Majnemer [Mon, 1 Feb 2016 04:28:59 +0000 (04:28 +0000)]
[X86] Cleanup the WinEHState pass

Remove unnecessary includes and class state.

No functional change intended.

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

8 years ago[dsymutil] Support scattered relocs.
Frederic Riss [Mon, 1 Feb 2016 03:44:22 +0000 (03:44 +0000)]
[dsymutil] Support scattered relocs.

Although it seems like clang will never emit scattered relocations in
the debug information (at least I couldn't find a way), we have too
support them for the benefit of other compilers.
As clang doesn't generate them, the included testcase was produced
from hacked up assembly.

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

8 years agoRevert r258580 and r258581.
David Majnemer [Mon, 1 Feb 2016 03:29:38 +0000 (03:29 +0000)]
Revert r258580 and r258581.

Those commits created an artificial edge from a cleanup to a synthesized
catchswitch in order to get the MSVC personality routine to execute
cleanups which don't cleanupret and are not wrapped by a catchswitch.

This worked well enough but is not a complete solution in situations
where there the cleanup infinite loops.

However, the real deal breaker behind this approach comes about from a
degenerate case where the cleanup is post-dominated by unreachable *and*
throws an exception.  This ends poorly because the catchswitch will
inadvertently catch the exception.

Because of this we should go back to our previous behavior of not
executing certain cleanups (identical behavior with the Itanium ABI
implementation in clang, GCC and ICC).

N.B. I think this could be salvaged by making the catchpad rethrow the
exception and properly transforming throwing calls in the cleanup into
invokes.

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

8 years ago[TableGen] Store result of getInstructionsByEnumValue in an ArrayRef instead of accid...
Craig Topper [Mon, 1 Feb 2016 01:33:42 +0000 (01:33 +0000)]
[TableGen] Store result of getInstructionsByEnumValue in an ArrayRef instead of accidentally copying to a vector.

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

8 years ago[MCDwarf] Fix encoding of line tables with weird custom parameters
Frederic Riss [Sun, 31 Jan 2016 22:06:35 +0000 (22:06 +0000)]
[MCDwarf] Fix encoding of line tables with weird custom parameters

With poorly chosen custom parameters, the line table encoding logic would
sometimes end up generating a special opcode bigger than 255, which is wrong.
The set of default parameters that LLVM uses isn't subject to this bug.

When carefully chosing the line table parameters, it's impossible to fall into the
corner case that this patch fixes. The standard however doesn't require that these
parameters be carefully chosen. And even if it did, we shouldn't generate broken
encoding.

Add a unittest for this specific encoding bug, and while at it, create some unit
tests for the encoding logic using different sets of parameters.

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

8 years agoRemove utostr_32 as it has no uses anymore.
Craig Topper [Sun, 31 Jan 2016 20:00:26 +0000 (20:00 +0000)]
Remove utostr_32 as it has no uses anymore.

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

8 years agoReplace usages of llvm::utostr_32 with just llvm::utostr. While this is less efficien...
Craig Topper [Sun, 31 Jan 2016 20:00:24 +0000 (20:00 +0000)]
Replace usages of llvm::utostr_32 with just llvm::utostr. While this is less efficient, its unclear the few places that were using the _32 version were doing so for efficiency.

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

8 years agoMerge utohex_buffer into utohexstr, it's only caller. Also change utohexstr to use...
Craig Topper [Sun, 31 Jan 2016 20:00:22 +0000 (20:00 +0000)]
Merge utohex_buffer into utohexstr, it's only caller. Also change utohexstr to use the std::string constructor that takes a start and end pointer. This saves a call to strlen. NFC

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

8 years agoadd helper function for minnum/maxnum ; NFC
Sanjay Patel [Sun, 31 Jan 2016 16:35:23 +0000 (16:35 +0000)]
add helper function for minnum/maxnum ; NFC

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

8 years agouse range-based for loop; NFC
Sanjay Patel [Sun, 31 Jan 2016 16:34:48 +0000 (16:34 +0000)]
use range-based for loop; NFC

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

8 years agofix formatting; NFC
Sanjay Patel [Sun, 31 Jan 2016 16:34:11 +0000 (16:34 +0000)]
fix formatting; NFC

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

8 years agosimplify; NFC
Sanjay Patel [Sun, 31 Jan 2016 16:33:33 +0000 (16:33 +0000)]
simplify; NFC

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

8 years agoclean up; NFC
Sanjay Patel [Sun, 31 Jan 2016 16:32:23 +0000 (16:32 +0000)]
clean up; NFC

function names, comments, formatting, typos

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

8 years agoWebAssembly: more failures are gone
JF Bastien [Sun, 31 Jan 2016 08:19:40 +0000 (08:19 +0000)]
WebAssembly: more failures are gone

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

8 years agoWebAssembly: update expected failures
JF Bastien [Sun, 31 Jan 2016 08:05:05 +0000 (08:05 +0000)]
WebAssembly: update expected failures

r259305 fixed a few assertions around FrameIndex, and I forgot to update these failures despite having run the torture tests.

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

8 years ago[dsymutil] Fix FileCheck command.
Frederic Riss [Sun, 31 Jan 2016 04:39:16 +0000 (04:39 +0000)]
[dsymutil] Fix FileCheck command.

Damn case-insensitive filesystem...

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

8 years ago[dsymutil] Fix handling of common symbols.
Frederic Riss [Sun, 31 Jan 2016 04:29:34 +0000 (04:29 +0000)]
[dsymutil] Fix handling of common symbols.

llvm-dsymutil was misinterpreting the value of common symbols as their
address when it actually contains their size. This didn't impact
llvm-dsymutil's ability to link the debug information for common symbols
because these are always found by name and not by address. Things could
however go wrong when the size of a common object matched the object
file address of another symbol. Depending on the link order of the symbols
the common object might incorrectly evict this other object from the
address to symbol mapping, and then link the evicted symbol with a wrong
binary address.

Use the new ability to have symbols without an object file address to fix
this.

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

8 years ago[dsymutil] Allow debug map mappings with no object file address. NFC
Frederic Riss [Sun, 31 Jan 2016 04:29:22 +0000 (04:29 +0000)]
[dsymutil] Allow debug map mappings with no object file address. NFC

This change just changes the data structure that ties symbol names,
object file address and linked binary addresses to accept mappings
with no object file address. Such symbol mappings are not fed into
the debug map yet, so this patch is NFC.
A subsequent patch will make use of this functionality for common
symbols.

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

8 years ago[SelectionDAG] Eliminate exponential behavior in WalkChainUsers
Tim Shen [Sun, 31 Jan 2016 03:59:34 +0000 (03:59 +0000)]
[SelectionDAG] Eliminate exponential behavior in WalkChainUsers

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

8 years agoNo need to use utostr/utohexstr when writing into a raw_ostream. NFC
Craig Topper [Sun, 31 Jan 2016 01:55:15 +0000 (01:55 +0000)]
No need to use utostr/utohexstr when writing into a raw_ostream. NFC

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

8 years agoShrink character buffer size in raw_ostream::write_hex to 16 characters intead of...
Craig Topper [Sun, 31 Jan 2016 01:12:38 +0000 (01:12 +0000)]
Shrink character buffer size in raw_ostream::write_hex to 16 characters intead of 20 as that's the largest string a 64-bit hex value can be.

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

8 years agoUse std::end instead of repeating buffer sizes.
Craig Topper [Sun, 31 Jan 2016 01:12:35 +0000 (01:12 +0000)]
Use std::end instead of repeating buffer sizes.

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

8 years agoConvert int to Twine instead of using utostr since it was already being added to...
Craig Topper [Sun, 31 Jan 2016 00:15:35 +0000 (00:15 +0000)]
Convert int to Twine instead of using utostr since it was already being added to a Twine. NFC

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

8 years ago[doc] improve the doc for CUDA
Jingyue Wu [Sat, 30 Jan 2016 23:48:47 +0000 (23:48 +0000)]
[doc] improve the doc for CUDA

1. Mentioned that CUDA support works best with trunk.
2. Simplified the example by removing its dependency on the CUDA samples.
3. Explain the --cuda-gpu-arch flag.

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

8 years ago[WebAssembly] Fix uses of FrameIndex as store values
Derek Schuff [Sat, 30 Jan 2016 21:43:08 +0000 (21:43 +0000)]
[WebAssembly] Fix uses of FrameIndex as store values

Previously the code assumed all uses of FI on loads and stores were as
addresses. This checks whether the use is the address or a value and
handles the latter case as it does for non-memory instructions.

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

8 years agoWebAssembly: don't optimize frameindex store
JF Bastien [Sat, 30 Jan 2016 14:11:26 +0000 (14:11 +0000)]
WebAssembly: don't optimize frameindex store

The previous code was incorrect (can't getReg a frameindex). We could instead optimize it to reduce tree height, but I'm not sure that's worthwhile yet because we then try to eliminate the frameindex.

This patch also fixes frame index elimination for operations which may load or store: it used to assume the base was operand 2 and immediate offset operand 1. That's not true for stores, where they're 4 and 3.

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

8 years agoWebAssembly NFC: fix build warning
JF Bastien [Sat, 30 Jan 2016 11:19:26 +0000 (11:19 +0000)]
WebAssembly NFC: fix build warning

WebAssemblyFrameLowering.cpp:158:44: warning: enumeral and non-enumeral type in conditional expression [enabled by default]

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

8 years ago[BasicAA] NFC - revised comment for function adjustToPointerSize()
Gerolf Hoflehner [Sat, 30 Jan 2016 05:58:38 +0000 (05:58 +0000)]
[BasicAA] NFC - revised comment for function adjustToPointerSize()

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

8 years ago[BasicAA] Fix for missing must alias (D16343)
Gerolf Hoflehner [Sat, 30 Jan 2016 05:52:53 +0000 (05:52 +0000)]
[BasicAA] Fix for missing must alias (D16343)

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

8 years ago[BasicAA] Update on r259290 - added missing cast
Gerolf Hoflehner [Sat, 30 Jan 2016 05:35:09 +0000 (05:35 +0000)]
[BasicAA] Update on r259290 - added missing cast

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

8 years agoAMDGPU: Fix emitting invalid workitem intrinsics for HSA
Matt Arsenault [Sat, 30 Jan 2016 05:19:45 +0000 (05:19 +0000)]
AMDGPU: Fix emitting invalid workitem intrinsics for HSA

The AMDGPUPromoteAlloca pass was emitting the read.local.size
calls, which with HSA was incorrectly selected to reading from
the offset mesa uses off of the kernarg pointer.

Error on intrinsics which aren't supported by HSA, and start
emitting the correct IR to read the workgroup size
out of the dispatch pointer.

Also initialize the pass so it can be tested with opt, and
start moving towards not depending on the subtarget as an
argument.

Start emitting errors for the intrinsics not handled with HSA.

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

8 years agoAMDGPU: Stop checking intrinsics not used by HSA for dispatch-ptr
Matt Arsenault [Sat, 30 Jan 2016 05:10:59 +0000 (05:10 +0000)]
AMDGPU: Stop checking intrinsics not used by HSA for dispatch-ptr

Only the dispatch.ptr intrinsic is supposed to be used now to get
the workgroup size, and the read.local.size intrinsics do not
work correctly.

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

8 years agoInstCombine: fabs(x) * fabs(x) -> x * x
Matt Arsenault [Sat, 30 Jan 2016 05:02:00 +0000 (05:02 +0000)]
InstCombine: fabs(x) * fabs(x) -> x * x

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

8 years ago[WebAssembly] Refine block placement to insert blocks between trees.
Dan Gohman [Sat, 30 Jan 2016 05:01:06 +0000 (05:01 +0000)]
[WebAssembly] Refine block placement to insert blocks between trees.

Refine the test for whether an instruction is in an expression tree so that
it detects when one tree ends and another begins, so we can place a block
at that point, rather than continuing to find the first instruction not in
a tree at all.

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

8 years agoAMDGPU: Add new amdgcn workitem intrinsics
Matt Arsenault [Sat, 30 Jan 2016 04:25:19 +0000 (04:25 +0000)]
AMDGPU: Add new amdgcn workitem intrinsics

These use the correct prefix and follow the HSA naming convention
rather than the config register option names.

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

8 years agoRemove references to *.h.in files and some autoconf hackery
Justin Bogner [Sat, 30 Jan 2016 04:15:33 +0000 (04:15 +0000)]
Remove references to *.h.in files and some autoconf hackery

Missed this stuff in r259291.

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

8 years agoRemove *.h.in - these were only used by the autoconf build system
Justin Bogner [Sat, 30 Jan 2016 04:05:45 +0000 (04:05 +0000)]
Remove *.h.in - these were only used by the autoconf build system

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

8 years ago[BasicAA] NFC - utility function for two's complement wrap-around
Gerolf Hoflehner [Sat, 30 Jan 2016 02:42:11 +0000 (02:42 +0000)]
[BasicAA] NFC - utility function for two's complement wrap-around

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

8 years agoFurther reduce test time
Xinliang David Li [Sat, 30 Jan 2016 01:37:32 +0000 (01:37 +0000)]
Further reduce test time

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

8 years agoAvoid overly large SmallPtrSet/SmallSet
Matthias Braun [Sat, 30 Jan 2016 01:24:31 +0000 (01:24 +0000)]
Avoid overly large SmallPtrSet/SmallSet

These sets perform linear searching in small mode so it is never a good
idea to use SmallSize/N bigger than 32.

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

8 years agoUse Support/DataTypes.h instead of cstdint
Matthias Braun [Sat, 30 Jan 2016 01:14:01 +0000 (01:14 +0000)]
Use Support/DataTypes.h instead of cstdint

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

8 years ago[docs] Remove references to autotools build.
Alexey Samsonov [Sat, 30 Jan 2016 01:10:15 +0000 (01:10 +0000)]
[docs] Remove references to autotools build.

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

8 years ago[CUDA] Die if we ask the NVPTX backend to emit a global ctor/dtor.
Justin Lebar [Sat, 30 Jan 2016 01:07:38 +0000 (01:07 +0000)]
[CUDA] Die if we ask the NVPTX backend to emit a global ctor/dtor.

Summary: Previously we'd just silently skip these.

Reviewers: tra, jholewinski

Subscribers: llvm-commits, jhen, echristo,

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

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