]> granicus.if.org Git - llvm/log
llvm
8 years ago[PruneEH] Be correct in the face IPO
Sanjoy Das [Mon, 3 Oct 2016 19:35:30 +0000 (19:35 +0000)]
[PruneEH] Be correct in the face IPO

This fixes one spot I had missed in r265762.  Credit goes to Philip
Reames for spotting this one!

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

8 years ago[sancov] using env for better portability
Mike Aizatsky [Mon, 3 Oct 2016 19:22:05 +0000 (19:22 +0000)]
[sancov] using env for better portability

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

8 years agoRefactor LICM pass in preparation for LoopSink pass.
Dehao Chen [Mon, 3 Oct 2016 18:52:08 +0000 (18:52 +0000)]
Refactor LICM pass in preparation for LoopSink pass.

Summary: LoopSink pass uses some common function in LICM. This patch refactor the LICM code to make it usable by LoopSink pass (https://reviews.llvm.org/D22778).

Reviewers: davidxl, danielcdh, hfinkel, chandlerc

Subscribers: hfinkel, llvm-commits

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

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

8 years ago[AMDGPU] Pass optimization level to SelectionDAGISel
Konstantin Zhuravlyov [Mon, 3 Oct 2016 18:47:26 +0000 (18:47 +0000)]
[AMDGPU] Pass optimization level to SelectionDAGISel

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

8 years ago[AMDGPU] Sign extend AShr when promoting (instead of zero extending)
Konstantin Zhuravlyov [Mon, 3 Oct 2016 18:29:01 +0000 (18:29 +0000)]
[AMDGPU] Sign extend AShr when promoting (instead of zero extending)

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

8 years agoJump threading: avoid trying to split edge into landingpad block (PR27840)
Hans Wennborg [Mon, 3 Oct 2016 18:18:04 +0000 (18:18 +0000)]
Jump threading: avoid trying to split edge into landingpad block (PR27840)

Splitting the edge is nontrivial because of the landing pad, and we would
currently assert trying to do it.

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

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

8 years agoRename Error -> ReportError.
Zachary Turner [Mon, 3 Oct 2016 18:17:18 +0000 (18:17 +0000)]
Rename Error -> ReportError.

Error conflicts with the llvm::Error datatype, creating
ambiguities.

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

8 years agoRevert "Use getSize instead of data().size(). NFC."
Rafael Espindola [Mon, 3 Oct 2016 18:01:10 +0000 (18:01 +0000)]
Revert "Use getSize instead of data().size(). NFC."

This reverts commit r283125.

lld needs to be updated.

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

8 years ago[RDF] Further improve readability of the graph
Krzysztof Parzyszek [Mon, 3 Oct 2016 17:54:33 +0000 (17:54 +0000)]
[RDF] Further improve readability of the graph

Print target basic block for a branch.

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

8 years agoUse getSize instead of data().size(). NFC.
Rafael Espindola [Mon, 3 Oct 2016 17:49:19 +0000 (17:49 +0000)]
Use getSize instead of data().size(). NFC.

Also assert isFinalized in getSize(). This just reduces the noise from
another patch.

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

8 years ago[RTDyld] Fix a bug in RTDyldMemoryManager::deregisterEHFrames.
Lang Hames [Mon, 3 Oct 2016 17:34:56 +0000 (17:34 +0000)]
[RTDyld] Fix a bug in RTDyldMemoryManager::deregisterEHFrames.

It should forward to deregisterEHFramesInProcess by default, not
registerEHFramesInProcess.

No test case: I haven't come up with a good way to unit test EH frame
registration yet.

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

8 years ago[RDF] Replace RegisterAliasInfo with target-independent code using lane masks
Krzysztof Parzyszek [Mon, 3 Oct 2016 17:14:48 +0000 (17:14 +0000)]
[RDF] Replace RegisterAliasInfo with target-independent code using lane masks

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

8 years ago[x86, SSE/AVX] allow 128/256-bit lowering for copysign vector intrinsics (PR30433)
Sanjay Patel [Mon, 3 Oct 2016 16:38:27 +0000 (16:38 +0000)]
[x86, SSE/AVX] allow 128/256-bit lowering for copysign vector intrinsics (PR30433)

This should fix:
https://llvm.org/bugs/show_bug.cgi?id=30433

There are a couple of open questions about the codegen:
1. Should we let scalar ops be scalars and avoid vector constant loads/splats?
2. Should we have a pass to combine constants such as the inverted pair that we have here?

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

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

8 years agoDon't drop the llvm. prefix when renaming.
Rafael Espindola [Mon, 3 Oct 2016 15:51:42 +0000 (15:51 +0000)]
Don't drop the llvm. prefix when renaming.

If the llvm. prefix is dropped other parts of llvm don't see this as
an intrinsic.  This means that the number of regular symbols depends
on the context the module is loaded into, which causes LTO to abort.

Fixes PR30509.

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

8 years agofix formatting; NFC
Sanjay Patel [Mon, 3 Oct 2016 15:18:36 +0000 (15:18 +0000)]
fix formatting; NFC

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

8 years agoPrevent out of order HashDirective lexing in AsmLexer.
Nirav Dave [Mon, 3 Oct 2016 13:48:27 +0000 (13:48 +0000)]
Prevent out of order HashDirective lexing in AsmLexer.

Retrying after buildbot reset.

To lex hash directives we peek ahead to find component tokens, create a
unified token, and unlex the peeked tokens so the parser does not need
to parse the tokens then. Make sure we do not to lex another hash
directive during peek operation.

This fixes PR28921.

Reviewers: rnk, loladiro

Subscribers: llvm-commits

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

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

8 years agoAMDGPU: Fix typo
Matt Arsenault [Mon, 3 Oct 2016 13:06:58 +0000 (13:06 +0000)]
AMDGPU: Fix typo

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

8 years agoAMDGPU: Fix missing -verify-machineinstrs in test
Matt Arsenault [Mon, 3 Oct 2016 12:58:59 +0000 (12:58 +0000)]
AMDGPU: Fix missing -verify-machineinstrs in test

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

8 years ago[X86][SSE] Add PR30371 (shuffle constant folding) test case
Simon Pilgrim [Mon, 3 Oct 2016 12:16:39 +0000 (12:16 +0000)]
[X86][SSE] Add PR30371 (shuffle constant folding) test case

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

8 years agoAdd new target hooks for LoadStoreVectorizer
Volkan Keles [Mon, 3 Oct 2016 10:31:34 +0000 (10:31 +0000)]
Add new target hooks for LoadStoreVectorizer

Summary: Added 6 new target hooks for the vectorizer in order to filter types, handle size constraints and decide how to split chains.

Reviewers: tstellarAMD, arsenm

Subscribers: arsenm, mzolotukhin, wdng, llvm-commits, nhaehnle

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

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

8 years ago[ARM] Code size optimisation to lower udiv+urem to udiv+mls instead of a
Sjoerd Meijer [Mon, 3 Oct 2016 10:12:32 +0000 (10:12 +0000)]
[ARM] Code size optimisation to lower udiv+urem to udiv+mls instead of a
library call to __aeabi_uidivmod. This is an improved implementation of
r280808, see also D24133, that got reverted because isel was stuck in a loop.
That was caused by the optimisation incorrectly triggering on i64 ints, which
shouldn't happen because there is no 64bit hwdiv support; that put isel's type
legalization and this optimisation in a loop. A native ARM compiler and testing
now shows that this is fixed.

Patch mostly by Pablo Barrio.

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

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

8 years ago[CodeGen] Adding a test showing the current state of poor code gen of
Alexey Bataev [Mon, 3 Oct 2016 07:47:01 +0000 (07:47 +0000)]
[CodeGen] Adding a test showing the current state of poor code gen of
search loop, by Andrey Tischenko

PR27136 shows failure to hoist constant out of loop. This test is used
as start point to fix the failure: it shows the current state of codegen
and discovers what should be fixed

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

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

8 years ago[lit] Throw in unimplemented method (NFC)
Chris Bieneman [Mon, 3 Oct 2016 04:48:22 +0000 (04:48 +0000)]
[lit] Throw in unimplemented method (NFC)

Summary:
lit's `OneCommandFileTest` class implements an abstract method that
raises if called. However, it raises by referencing an undefined
symbol. Instead, raise explicitly by throwing a `NotImplementedError`.
This is clearer, and appeases Python linters.

Patch By Brian Gesiak!

Reviewers: ddunbar, echristo, beanz

Subscribers: llvm-commits, mehdi_amini

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

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

8 years ago[lit] Remove unused imports (NFC)
Chris Bieneman [Mon, 3 Oct 2016 04:48:18 +0000 (04:48 +0000)]
[lit] Remove unused imports (NFC)

Reviewers: ddunbar, echristo, beanz

Patch by Brian Gesiak!

Subscribers: llvm-commits, mehdi_amini

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

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

8 years ago[lit] Compare to None using identity, not equality
Chris Bieneman [Mon, 3 Oct 2016 04:48:13 +0000 (04:48 +0000)]
[lit] Compare to None using identity, not equality

Summary:
In Python, `None` is a singleton, so checking whether a variable is
`None` may be done with `is` or `is not`. This has a slight advantage
over equiality comparisons `== None` and `!= None`, since `__eq__` may
be overridden in Python to produce sometimes unexpected results.

Using `is None` and `is not None` is also recommended practice in
https://www.python.org/dev/peps/pep-0008:

> Comparisons to singletons like `None` should always be done with `is` or
> `is not`, never the equality operators.

Patch by Brian Gesiak!

Reviewers: ddunbar, echristo, beanz

Subscribers: llvm-commits, mehdi_amini

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

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

8 years ago[AMDGPU] Remove unused variables from SIOptimizeExecMasking
Konstantin Zhuravlyov [Mon, 3 Oct 2016 04:43:22 +0000 (04:43 +0000)]
[AMDGPU] Remove unused variables from SIOptimizeExecMasking

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

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

8 years ago[PowerPC] Account for the ELFv2 function prologue during branch selection
Hal Finkel [Mon, 3 Oct 2016 04:06:44 +0000 (04:06 +0000)]
[PowerPC] Account for the ELFv2 function prologue during branch selection

The PPC branch-selection pass, which performs branch relaxation, needs to
account for the padding that might be introduced to satisfy block alignment
requirements. We were assuming that the first block was at offset zero (i.e.
had the alignment of the function itself), but under the ELFv2 ABI, a global
entry function prologue is added to the first block, and it is a
two-instruction sequence (i.e. eight-bytes long). If the function has 16-byte
alignment, the fact that the first block is eight bytes offset from the start
of the function is relevant to calculating where padding will be added in
between later blocks.

Unfortunately, I don't have a small test case.

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

8 years ago[AVX-512] Remove isCheapAsAMove flag from VMOVAPSZ128rm_NOVLX and friends.
Craig Topper [Mon, 3 Oct 2016 02:22:33 +0000 (02:22 +0000)]
[AVX-512] Remove isCheapAsAMove flag from VMOVAPSZ128rm_NOVLX and friends.

This was accidentally copy and pasted from other Pseudos in the file.

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

8 years ago[X86] Mark all sizes of (V)MOVUPD as trivially rematerializable.
Craig Topper [Mon, 3 Oct 2016 02:00:29 +0000 (02:00 +0000)]
[X86] Mark all sizes of (V)MOVUPD as trivially rematerializable.

I don't know for sure that we truly needs this, but its the only vector load that isn't rematerializable. Making it consistent allows it to not be a special case in the td files.

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

8 years ago[X86][AVX2] Add support for combining target shuffles to VPERMD/VPERMPS
Simon Pilgrim [Sun, 2 Oct 2016 21:07:58 +0000 (21:07 +0000)]
[X86][AVX2] Add support for combining target shuffles to VPERMD/VPERMPS

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

8 years ago[SCEV] Rely on ConstantRange instead of custom logic; NFCI
Sanjoy Das [Sun, 2 Oct 2016 20:59:10 +0000 (20:59 +0000)]
[SCEV] Rely on ConstantRange instead of custom logic; NFCI

This was first landed in rL283058 and subsequenlty reverted since a
change this depends on (rL283057) was buggy and had to be reverted.

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

8 years ago[ConstantRange] Make getEquivalentICmp smarter
Sanjoy Das [Sun, 2 Oct 2016 20:59:05 +0000 (20:59 +0000)]
[ConstantRange] Make getEquivalentICmp smarter

This change teaches getEquivalentICmp to be smarter about generating
ICMP_NE and ICMP_EQ predicates.

An earlier version of this change was landed as rL283057 which had a
use-after-free bug.  This new version has a fix for that bug, and a (C++
unittests/) test case that would have triggered it rL283057.

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

8 years ago[X86][AVX2] Missed opportunities to combine to VPERMD/VPERMPS
Simon Pilgrim [Sun, 2 Oct 2016 20:43:02 +0000 (20:43 +0000)]
[X86][AVX2] Missed opportunities to combine to VPERMD/VPERMPS

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

8 years ago[X86][AVX2] Fix typo in test names
Simon Pilgrim [Sun, 2 Oct 2016 19:31:58 +0000 (19:31 +0000)]
[X86][AVX2] Fix typo in test names

We are testing vpermps not vpermd

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

8 years agoRangify for loops.
Yaron Keren [Sun, 2 Oct 2016 19:21:41 +0000 (19:21 +0000)]
Rangify for loops.

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

8 years ago[x86] remove 'nan' strings from copysign assertions; NFC
Sanjay Patel [Sun, 2 Oct 2016 17:07:24 +0000 (17:07 +0000)]
[x86] remove 'nan' strings from copysign assertions; NFC

Preemptively scrubbing these to avoid a bot fail as in PR30443:
https://llvm.org/bugs/show_bug.cgi?id=30443

I'm nearly done with a patch to fix these cases, so not trying very
hard to do better for the temporary win.

I plan to use better checks than what the script produces for the vectorized cases.

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

8 years ago[x86] add test to show unnecessary scalarization of copysign intrinsics (PR30433)
Sanjay Patel [Sun, 2 Oct 2016 16:31:35 +0000 (16:31 +0000)]
[x86] add test to show unnecessary scalarization of copysign intrinsics (PR30433)

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

8 years ago[X86][AVX] Ensure broadcast loads respect dependencies
Simon Pilgrim [Sun, 2 Oct 2016 15:59:15 +0000 (15:59 +0000)]
[X86][AVX] Ensure broadcast loads respect dependencies

To allow broadcast loads of a non-zero'th vector element, lowerVectorShuffleAsBroadcast can replace a load with a new load with an adjusted address, but unfortunately we weren't ensuring that the new load respected the same dependencies.

This patch adds a TokenFactor and updates all dependencies of the old load to reference the new load instead.

Bug found during internal testing.

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

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

8 years ago[X86] Don't set i64 ADDC/ADDE/SUBC/SUBE as Custom if the target isn't 64-bit. This...
Craig Topper [Sun, 2 Oct 2016 06:13:43 +0000 (06:13 +0000)]
[X86] Don't set i64 ADDC/ADDE/SUBC/SUBE as Custom if the target isn't 64-bit. This way we don't have to catch them and do nothing with them in ReplaceNodeResults.

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

8 years ago[X86] Fix indentation. NFC
Craig Topper [Sun, 2 Oct 2016 06:13:40 +0000 (06:13 +0000)]
[X86] Fix indentation. NFC

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

8 years agoRevert r283057 and r283058
Sanjoy Das [Sun, 2 Oct 2016 02:40:27 +0000 (02:40 +0000)]
Revert r283057 and r283058

They've broken the sanitizer-bootstrap bots.  Reverting while I investigate.

Original commit messages:

r283057: "[ConstantRange] Make getEquivalentICmp smarter"

r283058: "[SCEV] Rely on ConstantRange instead of custom logic; NFCI"

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

8 years ago[PowerPC] Refactor soft-float support, and enable PPC64 soft float
Hal Finkel [Sun, 2 Oct 2016 02:10:20 +0000 (02:10 +0000)]
[PowerPC] Refactor soft-float support, and enable PPC64 soft float

This change enables soft-float for PowerPC64, and also makes soft-float disable
all vector instruction sets for both 32-bit and 64-bit modes. This latter part
is necessary because the PPC backend canonicalizes many Altivec vector types to
floating-point types, and so soft-float breaks scalarization support for many
operations. Both for embedded targets and for operating-system kernels desiring
soft-float support, it seems reasonable that disabling hardware floating-point
also disables vector instructions (embedded targets without hardware floating
point support are unlikely to have Altivec, etc. and operating system kernels
desiring not to use floating-point registers to lower syscall cost are unlikely
to want to use vector registers either). If someone needs this to work, we'll
need to change the fact that we promote many Altivec operations to act on
v4f32. To make it possible to disable Altivec when soft-float is enabled,
hardware floating-point support needs to be expressed as a positive feature,
like the others, and not a negative feature, because target features cannot
have dependencies on the disabling of some other feature. So +soft-float has
now become -hard-float.

Fixes PR26970.

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

8 years agoRemove duplicated code; NFC
Sanjoy Das [Sun, 2 Oct 2016 00:09:57 +0000 (00:09 +0000)]
Remove duplicated code; NFC

ICmpInst::makeConstantRange does exactly the same thing as
ConstantRange::makeExactICmpRegion.

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

8 years ago[SCEV] Rely on ConstantRange instead of custom logic; NFCI
Sanjoy Das [Sun, 2 Oct 2016 00:09:52 +0000 (00:09 +0000)]
[SCEV] Rely on ConstantRange instead of custom logic; NFCI

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

8 years ago[ConstantRange] Make getEquivalentICmp smarter
Sanjoy Das [Sun, 2 Oct 2016 00:09:49 +0000 (00:09 +0000)]
[ConstantRange] Make getEquivalentICmp smarter

This change teaches getEquivalentICmp to be smarter about generating
ICMP_NE and ICMP_EQ predicates.

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

8 years ago[SCEV] Remove commented out code; NFC
Sanjoy Das [Sun, 2 Oct 2016 00:09:45 +0000 (00:09 +0000)]
[SCEV] Remove commented out code; NFC

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

8 years agoCOFF: Fix short import lib import name type bitshift
Martell Malone [Sat, 1 Oct 2016 23:10:20 +0000 (23:10 +0000)]
COFF: Fix short import lib import name type bitshift

As per the PE COFF spec (section 8.3, Import Name Type)
Offset: 18 Size 2 bits Name: Type
Offset: 20 Size 3 bits Name: Name Type

Offset: 20 added based on 18+2

Partially commited as rL279069

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

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

8 years ago[X86][SSE] Cleaned up shuffle decode assertion messages
Simon Pilgrim [Sat, 1 Oct 2016 20:12:56 +0000 (20:12 +0000)]
[X86][SSE] Cleaned up shuffle decode assertion messages

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

8 years ago[SLPVectorizer][X86] Added fptosi/fptoui tests
Simon Pilgrim [Sat, 1 Oct 2016 19:35:59 +0000 (19:35 +0000)]
[SLPVectorizer][X86] Added fptosi/fptoui tests

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

8 years ago[CostModel][X86] Added tests for current fptosi/fptoui costs
Simon Pilgrim [Sat, 1 Oct 2016 19:09:59 +0000 (19:09 +0000)]
[CostModel][X86] Added tests for current fptosi/fptoui costs

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

8 years ago[SLPVectorizer][X86] Added fcopysign tests
Simon Pilgrim [Sat, 1 Oct 2016 17:00:26 +0000 (17:00 +0000)]
[SLPVectorizer][X86] Added fcopysign tests

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

8 years ago[SLPVectorizer][X86] Added fabs tests
Simon Pilgrim [Sat, 1 Oct 2016 16:54:01 +0000 (16:54 +0000)]
[SLPVectorizer][X86] Added fabs tests

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

8 years ago[CostModel][X86] Added fcopysign costs
Simon Pilgrim [Sat, 1 Oct 2016 16:41:52 +0000 (16:41 +0000)]
[CostModel][X86] Added fcopysign costs

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

8 years agoUse StringRef for MemoryBuffer identifier API (NFC)
Mehdi Amini [Sat, 1 Oct 2016 16:38:28 +0000 (16:38 +0000)]
Use StringRef for MemoryBuffer identifier API (NFC)

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

8 years ago[CostModel][X86] Added fabs costs
Simon Pilgrim [Sat, 1 Oct 2016 16:30:13 +0000 (16:30 +0000)]
[CostModel][X86] Added fabs costs

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

8 years agoFix signed/unsigned warning
Simon Pilgrim [Sat, 1 Oct 2016 16:14:57 +0000 (16:14 +0000)]
Fix signed/unsigned warning

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

8 years ago[X86][SSE] Add support for combining target shuffles to binary BLEND
Simon Pilgrim [Sat, 1 Oct 2016 16:04:28 +0000 (16:04 +0000)]
[X86][SSE] Add support for combining target shuffles to binary BLEND

We already had support for 1-input BLEND with zero - this adds support for 2-input BLEND as well.

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

8 years agoUse StringRef in Registry API (NFC)
Mehdi Amini [Sat, 1 Oct 2016 15:44:54 +0000 (15:44 +0000)]
Use StringRef in Registry API (NFC)

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

8 years ago[X86][SSE] Always combine target shuffles to MOVSD/MOVSS
Simon Pilgrim [Sat, 1 Oct 2016 15:33:01 +0000 (15:33 +0000)]
[X86][SSE] Always combine target shuffles to MOVSD/MOVSS

Now we can commute to BLENDPD/BLENDPS on SSE41+ targets if necessary, so simplify the combine matching where we can.

This required me to add a couple of scalar math movsd/moss fold patterns that hadn't been needed in the past.

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

8 years ago[X86][SSE] Enable commutation from MOVSD/MOVSS to BLENDPD/BLENDPS on SSE41+ targets
Simon Pilgrim [Sat, 1 Oct 2016 14:26:11 +0000 (14:26 +0000)]
[X86][SSE] Enable commutation from MOVSD/MOVSS to BLENDPD/BLENDPS on SSE41+ targets

Instead of selecting between MOVSD/MOVSS and BLENDPD/BLENDPS at shuffle lowering by subtarget this will help us select the instruction based on actual commutation requirements.

We could possibly add BLENDPD/BLENDPS -> MOVSD/MOVSS commutation and MOVSD/MOVSS memory folding using a similar approach if it proves useful

I avoided adding AVX512 handling as I'm not sure when we should be making use of VBLENDPD/VBLENDPS on EVEX targets

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

8 years agoRevert r283029 - [cmake] Make LIT_COMMAND configurable and improve fallback support
Michal Gorny [Sat, 1 Oct 2016 13:15:56 +0000 (13:15 +0000)]
Revert r283029 - [cmake] Make LIT_COMMAND configurable and improve fallback support

Revert the change in r283029 (and the fixup in r283033) due to buildbot
breakage. The fixup is ineffective for the bots that do not force clean
build since the wrong value is already cached in CMakeCache.txt.

Reverting it should result in the cache variable being removed
and therefore it should be possible to re-introduce it after all
buildbots build this revision.

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

8 years ago[X86][SSE] Regenerate vselect tests and improve AVX1/AVX2 coverage
Simon Pilgrim [Sat, 1 Oct 2016 13:10:14 +0000 (13:10 +0000)]
[X86][SSE] Regenerate vselect tests and improve AVX1/AVX2 coverage

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

8 years agoRevert "[MC] Prevent out of order HashDirective lexing in AsmLexer."
Nirav Dave [Sat, 1 Oct 2016 10:57:55 +0000 (10:57 +0000)]
Revert "[MC] Prevent out of order HashDirective lexing in AsmLexer."

This reverts commit r282992 which appears to be causing an LTO test failure.

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

8 years ago[cmake] Fix incorrect default for LIT_COMMAND, from r283029
Michal Gorny [Sat, 1 Oct 2016 10:56:58 +0000 (10:56 +0000)]
[cmake] Fix incorrect default for LIT_COMMAND, from r283029

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

8 years ago[cmake] Make LIT_COMMAND configurable and improve fallback support
Michal Gorny [Sat, 1 Oct 2016 09:28:05 +0000 (09:28 +0000)]
[cmake] Make LIT_COMMAND configurable and improve fallback support

Make LIT_COMMAND configurable, use source tree only when actually
available and extend the default search to other common executable names
'lit.py' and 'lit', in order to increase uniformity between all LLVM
projects and support using installed lit.

Changing the conditional used to determine whether in-tree or external
lit is being used covers the case when LLVM_MAIN_SRC_DIR is defined but
does not exist (anymore). In this case, the functions falls back to
looking for installed lit rather than attempting to use a non-existing
path. The same conditional is used in clang already.

Making LIT_COMMAND a cache variable in case the source tree variant is
used serves two purposes. Firstly, it increases uniformity between
the two branches since find_program() implicitly makes LIT_COMMAND
a cache variable. Secondly, it allows overriding the lit executable used
to run the tests when the LLVM source tree is provided. Gentoo is
planning to use this to use installed (and byte-compiled) lit instead of
re-compiling it in every LLVM project.

Extending default search is meant to increase uniformity between
different LLVM projects. The 'lit.py' name is already used by a few of
them, and 'lit' is the name used by utils/lit/setup.py when installing.

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

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

8 years ago[OCaml] Install .mli (interface) files
Michal Gorny [Sat, 1 Oct 2016 09:26:23 +0000 (09:26 +0000)]
[OCaml] Install .mli (interface) files

Install the OCaml interface .mli files. Those files were most likely
omitted because they are input files for the compiled .cmi files.
However, installing them is reasonable since -- unlike .cmi files --
they are human-readable.

The issue was originally spotted by @jpdeplaix.

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

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

8 years agoSplit a comment into generic description and note about the specific
Joerg Sonnenberger [Sat, 1 Oct 2016 08:05:50 +0000 (08:05 +0000)]
Split a comment into generic description and note about the specific
cmake use.

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

8 years agoRetire LLVM_BINDIR and friends. They haven't been provided with actual
Joerg Sonnenberger [Sat, 1 Oct 2016 08:03:55 +0000 (08:03 +0000)]
Retire LLVM_BINDIR and friends. They haven't been provided with actual
values since the switch to cmake.

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

8 years ago[libFuzzer] add fuzzer test for libxml2, finds https://bugzilla.gnome.org/show_bug...
Kostya Serebryany [Sat, 1 Oct 2016 07:37:40 +0000 (07:37 +0000)]
[libFuzzer] add fuzzer test for libxml2, finds https://bugzilla.gnome.org/show_bug.cgi?id=751631

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

8 years agoGC HAVE_STRTOQ
Joerg Sonnenberger [Sat, 1 Oct 2016 07:35:08 +0000 (07:35 +0000)]
GC HAVE_STRTOQ

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

8 years agoRetire bugpoint's -R. hack.
Joerg Sonnenberger [Sat, 1 Oct 2016 07:34:18 +0000 (07:34 +0000)]
Retire bugpoint's -R. hack.

It got disconnected during the cmake conversion. For Miscompilation.cpp,
it was purely advisory for the user and the ToolRunner.cpp version was
trying to compensate for libs and bins in the same directory, which
hasn't been the case for a very long time.

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

8 years ago[libFuzzer] fix a recent bugs (buffer overflow)
Kostya Serebryany [Sat, 1 Oct 2016 07:13:25 +0000 (07:13 +0000)]
[libFuzzer] fix a recent bugs (buffer overflow)

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

8 years ago[X86] Cleanup patterns for using VMOVDDUP for broadcasts.
Craig Topper [Sat, 1 Oct 2016 07:11:24 +0000 (07:11 +0000)]
[X86] Cleanup patterns for using VMOVDDUP for broadcasts.

-Remove OptForSize. Not all of the backend follows the same rules for creating broadcasts and there is no conflicting pattern.
-Don't stop selecting VEX VMOVDDUP when AVX512 is supported. We need VLX for EVEX VMOVDDUP.
-Only use VMOVDDUP for v2i64 broadcasts if AVX2 is not supported.

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

8 years agoRevert "Use StringRef instead of raw pointer in TargetRegistry API (NFC)"
Mehdi Amini [Sat, 1 Oct 2016 07:08:23 +0000 (07:08 +0000)]
Revert "Use StringRef instead of raw pointer in TargetRegistry API (NFC)"

This reverts commit r283017. Creates an infinite loop somehow.

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

8 years agoUse StringRef instead of raw pointers in MCAsmInfo/MCInstrInfo APIs (NFC)
Mehdi Amini [Sat, 1 Oct 2016 06:46:33 +0000 (06:46 +0000)]
Use StringRef instead of raw pointers in MCAsmInfo/MCInstrInfo APIs (NFC)

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

8 years agoUse StringRef instead of raw pointer in TargetRegistry API (NFC)
Mehdi Amini [Sat, 1 Oct 2016 06:25:30 +0000 (06:25 +0000)]
Use StringRef instead of raw pointer in TargetRegistry API (NFC)

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

8 years agoUse StringRef instead of raw pointer in ExecutionEngine
Mehdi Amini [Sat, 1 Oct 2016 06:22:04 +0000 (06:22 +0000)]
Use StringRef instead of raw pointer in ExecutionEngine

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

8 years ago[AVX-512] Add EVEX versions of VPBROADCASTW patterns with truncated i32 loads.
Craig Topper [Sat, 1 Oct 2016 06:01:23 +0000 (06:01 +0000)]
[AVX-512] Add EVEX versions of VPBROADCASTW patterns with truncated i32 loads.

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

8 years ago[AVX-512] Add VLX command lines to 128 and 256-bit shufffle tests.
Craig Topper [Sat, 1 Oct 2016 06:01:18 +0000 (06:01 +0000)]
[AVX-512] Add VLX command lines to 128 and 256-bit shufffle tests.

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

8 years agoUse StringRef in Datalayout API (NFC)
Mehdi Amini [Sat, 1 Oct 2016 05:57:55 +0000 (05:57 +0000)]
Use StringRef in Datalayout API (NFC)

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

8 years agoDIFlags: use StringRef instead of raw pointer (NFC)
Mehdi Amini [Sat, 1 Oct 2016 05:57:50 +0000 (05:57 +0000)]
DIFlags: use StringRef instead of raw pointer (NFC)

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

8 years agoRevert "Use StringRef in Datalayout API (NFC)"
Mehdi Amini [Sat, 1 Oct 2016 05:12:48 +0000 (05:12 +0000)]
Revert "Use StringRef in Datalayout API (NFC)"

This reverts commit r283009. Bots are broken.

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

8 years agoUse StringRef in Datalayout API (NFC)
Mehdi Amini [Sat, 1 Oct 2016 04:17:59 +0000 (04:17 +0000)]
Use StringRef in Datalayout API (NFC)

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

8 years agoUse StringRef in Pass Info/Support API (NFC)
Mehdi Amini [Sat, 1 Oct 2016 04:03:30 +0000 (04:03 +0000)]
Use StringRef in Pass Info/Support API (NFC)

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

8 years agoUse StringRef in CommandLine Options handling (NFC)
Mehdi Amini [Sat, 1 Oct 2016 03:43:20 +0000 (03:43 +0000)]
Use StringRef in CommandLine Options handling (NFC)

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

8 years agoUse StringRef instead of raw pointer in MachinePassRegistry (NFC)
Mehdi Amini [Sat, 1 Oct 2016 03:19:41 +0000 (03:19 +0000)]
Use StringRef instead of raw pointer in MachinePassRegistry (NFC)

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

8 years agoUse StringRef in TLI instead of raw pointer (NFC)
Mehdi Amini [Sat, 1 Oct 2016 03:10:48 +0000 (03:10 +0000)]
Use StringRef in TLI instead of raw pointer (NFC)

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

8 years agoUse StringRef in Pass/PassManager APIs (NFC)
Mehdi Amini [Sat, 1 Oct 2016 02:56:57 +0000 (02:56 +0000)]
Use StringRef in Pass/PassManager APIs (NFC)

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

8 years agoRevert "AMDGPU: Don't use offen if it is 0"
Mehdi Amini [Sat, 1 Oct 2016 02:35:24 +0000 (02:35 +0000)]
Revert "AMDGPU: Don't use offen if it is 0"

This reverts commit r282999.
Tests are not passing: http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/20038

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

8 years agoRemove getTargetTriple and update all uses to use the Triple off
Eric Christopher [Sat, 1 Oct 2016 01:50:33 +0000 (01:50 +0000)]
Remove getTargetTriple and update all uses to use the Triple off
of the TargetMachine. NFC.

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

8 years agoStop calling getTargetTriple off of the AsmPrinter and constructing a
Eric Christopher [Sat, 1 Oct 2016 01:50:29 +0000 (01:50 +0000)]
Stop calling getTargetTriple off of the AsmPrinter and constructing a
TargetTriple, just grab it off of the TargetMachine. NFC.

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

8 years agoRemove TargetTriple from AArch64MCInstLower as it's used in few places
Eric Christopher [Sat, 1 Oct 2016 01:50:25 +0000 (01:50 +0000)]
Remove TargetTriple from AArch64MCInstLower as it's used in few places
and can be pulled from the TargetMachine. NFC.

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

8 years agoAMDGPU: Don't use offen if it is 0
Matt Arsenault [Sat, 1 Oct 2016 01:37:15 +0000 (01:37 +0000)]
AMDGPU: Don't use offen if it is 0

This removes many re-initializations of a base register to 0.

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

8 years agoUse StringRef in LTOCodegenerator (NFC)
Mehdi Amini [Sat, 1 Oct 2016 01:18:23 +0000 (01:18 +0000)]
Use StringRef in LTOCodegenerator (NFC)

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

8 years agoUse StringRef in LTOModule implementation (NFC)
Mehdi Amini [Sat, 1 Oct 2016 01:18:16 +0000 (01:18 +0000)]
Use StringRef in LTOModule implementation (NFC)

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

8 years agoUse StringRef in Triple API (NFC)
Mehdi Amini [Sat, 1 Oct 2016 01:16:22 +0000 (01:16 +0000)]
Use StringRef in Triple API (NFC)

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

8 years ago[libFuzzer] implement the -shrink=1 option that tires to make elements of the corpus...
Kostya Serebryany [Sat, 1 Oct 2016 01:04:29 +0000 (01:04 +0000)]
[libFuzzer] implement the -shrink=1 option that tires to make elements of the corpus smaller, off by default

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

8 years ago[MC] Prevent out of order HashDirective lexing in AsmLexer.
Nirav Dave [Sat, 1 Oct 2016 00:42:32 +0000 (00:42 +0000)]
[MC] Prevent out of order HashDirective lexing in AsmLexer.

To lex hash directives we peek ahead to find component tokens, create a
unified token, and unlex the peeked tokens so the parser does not need
to parse the tokens then. Make sure we do not to lex another hash
directive during peek operation.

This fixes PR28921.

Reviewers: rnk, loladiro

Subscribers: llvm-commits

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

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

8 years ago[ASAN] Add the binder globals on Darwin to llvm.compiler.used to avoid LTO dead-stripping
Mehdi Amini [Sat, 1 Oct 2016 00:05:34 +0000 (00:05 +0000)]
[ASAN] Add the binder globals on Darwin to llvm.compiler.used to avoid LTO dead-stripping

The binder is in a specific section that "reverse" the edges in a
regular dead-stripping: the binder is live as long as a global it
references is live.

This is a big hammer that prevents LLVM from dead-stripping these,
while still allowing linker dead-stripping (with special knowledge
of the section).

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

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

8 years ago[libFuzzer] remove some experimental code
Kostya Serebryany [Fri, 30 Sep 2016 23:29:27 +0000 (23:29 +0000)]
[libFuzzer] remove some experimental code

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