OSDN Git Service

android-x86/external-llvm.git
7 years ago[CMake] lli-child-target depends on intrinsics gen
Chris Bieneman [Sat, 19 Nov 2016 02:09:51 +0000 (02:09 +0000)]
[CMake] lli-child-target depends on intrinsics gen

Messed up in r287420, it isn't just lli, but also but lli-child-target that need to depend on intrinsics_gen.

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

7 years ago[CMake] lli depends on intrinsics_gen
Chris Bieneman [Sat, 19 Nov 2016 02:05:19 +0000 (02:05 +0000)]
[CMake] lli depends on intrinsics_gen

ChildTarget.cpp has the following include chain:

llvm/ExecutionEngine/Orc/OrcABISupport.h
llvm/ExecutionEngine/Orc/IndirectionUtils.h
llvm/IR/IRBuilder.h
llvm/IR/ConstantFolder.h
llvm/IR/InstrTypes.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means lli needs to depend on intrinsics_gen.

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

7 years ago[CMake] llvm-dsymutil depends on intrinsics_gen
Chris Bieneman [Sat, 19 Nov 2016 02:02:46 +0000 (02:02 +0000)]
[CMake] llvm-dsymutil depends on intrinsics_gen

DwarfLinker.cpp has the following include chain:

llvm/CodeGen/AsmPrinter.h
llvm/CodeGen/MachineFunctionPass.h
llvm/CodeGen/MachineFunction.h
llvm/CodeGen/MachineBasicBlock.h
llvm/CodeGen/MachineInstr.h
llvm/Analysis/AliasAnalysis.h
llvm/IR/CallSite.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means llvm-dsymutil needs to depend on intrinsics_gen.

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

7 years ago[AVR] Remove a bunch of unused variables
Dylan McKay [Sat, 19 Nov 2016 01:33:42 +0000 (01:33 +0000)]
[AVR] Remove a bunch of unused variables

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

7 years ago[CMake] Apply sandbox profile to target not directory
Chris Bieneman [Sat, 19 Nov 2016 01:32:09 +0000 (01:32 +0000)]
[CMake] Apply sandbox profile to target not directory

When LLVM_DEPENDENCY_DEBUGGING=On we should apply the sandbox only on the target, not the directory. This is important for directories that create more than one target, or for nested directories.

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

7 years ago[AVR] Remove a variable which was unused in release mode
Dylan McKay [Sat, 19 Nov 2016 01:14:44 +0000 (01:14 +0000)]
[AVR] Remove a variable which was unused in release mode

In release mode where assertions are not enabled, this caused an 'unused
variable' warning.

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

7 years ago[CMake] verify-uselistorder depends on intrinsics_gen
Chris Bieneman [Fri, 18 Nov 2016 23:30:58 +0000 (23:30 +0000)]
[CMake] verify-uselistorder depends on intrinsics_gen

verify-uselistorder.cpp has the following include chain:

llvm/Bitcode/BitcodeReader.h
llvm/IR/ModuleSummaryIndex.h
llvm/IR/Module.h
llvm/IR/Function.h
llvm/IR/Argument.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means verify-uselistorder needs to depend on intrinsics_gen.

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

7 years ago[CMake] sanstats depends on intrinsics_gen
Chris Bieneman [Fri, 18 Nov 2016 23:30:39 +0000 (23:30 +0000)]
[CMake] sanstats depends on intrinsics_gen

sanstats.cpp has the following include chain:

llvm/Transforms/Utils/SanitizerStats.h
llvm/IR/IRBuilder.h
llvm/IR/ConstantFolder.h
llvm/IR/InstrTypes.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means sanstats needs to depend on intrinsics_gen.

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

7 years ago[lit] When setting SDKROOT on Darwin, use '--sdk macosx' to find the right SDK path.
Kuba Mracek [Fri, 18 Nov 2016 23:25:57 +0000 (23:25 +0000)]
[lit] When setting SDKROOT on Darwin, use '--sdk macosx' to find the right SDK path.

This will make sure that we find an actual path in case you have Command Line Tools installed.

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

7 years ago[CMake] bugpoint depends on intrinsics_gen
Chris Bieneman [Fri, 18 Nov 2016 23:25:30 +0000 (23:25 +0000)]
[CMake] bugpoint depends on intrinsics_gen

CrashDebugger.cpp has the following include chain:

llvm/Analysis/TargetTransformInfo.h
llvm/IR/IntrinsicInst.h
llvm/IR/Function.h
llvm/IR/Argument.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means bugpoint needs to depend on intrinsics_gen.

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

7 years ago[InstCombine] add tests to show likely unwanted select widening; NFC
Sanjay Patel [Fri, 18 Nov 2016 23:22:00 +0000 (23:22 +0000)]
[InstCombine] add tests to show likely unwanted select widening; NFC

This is a prerequisite patch for D26556:
https://reviews.llvm.org/D26556

...because there was no direct coverage for these folds (which in some cases are adding instructions).

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

7 years ago[CMake] llvm-split depends on intrinsics_gen
Chris Bieneman [Fri, 18 Nov 2016 23:20:38 +0000 (23:20 +0000)]
[CMake] llvm-split depends on intrinsics_gen

llvm-split.cpp has the following include chain:

llvm/Bitcode/BitcodeWriter.h
llvm/IR/ModuleSummaryIndex.h
llvm/IR/Module.h
llvm/IR/Function.h
llvm/IR/Argument.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means llvm-split needs to depend on intrinsics_gen.

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

7 years ago[CMake] llvm-lto depends on intrinsics_gen
Chris Bieneman [Fri, 18 Nov 2016 23:20:35 +0000 (23:20 +0000)]
[CMake] llvm-lto depends on intrinsics_gen

llvm-lto.cpp has the following include chain:

llvm/Bitcode/BitcodeReader.h
llvm/IR/ModuleSummaryIndex.h
llvm/IR/Module.h
llvm/IR/Function.h
llvm/IR/Argument.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means llvm-lto needs to depend on intrinsics_gen.

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

7 years ago[CMake] llvm-ar depends on intrinsics_gen
Chris Bieneman [Fri, 18 Nov 2016 23:04:27 +0000 (23:04 +0000)]
[CMake] llvm-ar depends on intrinsics_gen

llvm-ar.cpp has the following include chain:

llvm/IR/Module.h
llvm/IR/Function.h
llvm/IR/Argument.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means llvm-ar needs to depend on intrinsics_gen.

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

7 years ago[CMake] llvm-profdata depends on intrinsics_gen
Chris Bieneman [Fri, 18 Nov 2016 23:04:15 +0000 (23:04 +0000)]
[CMake] llvm-profdata depends on intrinsics_gen

llvm-profdata.cpp has the following include chain:

llvm/ProfileData/SampleProfReader.h
llvm/IR/Function.h
llvm/IR/Argument.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means llvm-profdata needs to depend on intrinsics_gen.

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

7 years ago[CMake] LTO depends on intrinsics_gen
Chris Bieneman [Fri, 18 Nov 2016 23:03:51 +0000 (23:03 +0000)]
[CMake] LTO depends on intrinsics_gen

lto.cpp has the following include chain:

llvm/Bitcode/BitcodeReader.h
llvm/IR/ModuleSummaryIndex.h
llvm/IR/Module.h
llvm/IR/Function.h
llvm/IR/Argument.h
llvm/IR/Attributes.h
llvm/IR/Attributes.gen

This means LTO needs to depend on intrinsics_gen.

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

7 years ago[AMDGPU] Change frexp.exp intrinsic to return i16 for f16 input
Konstantin Zhuravlyov [Fri, 18 Nov 2016 22:31:08 +0000 (22:31 +0000)]
[AMDGPU] Change frexp.exp intrinsic to return i16 for f16 input

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

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

7 years ago[SelectionDAG] Add knowbits support for CONCAT_VECTOR opcode
Simon Pilgrim [Fri, 18 Nov 2016 22:21:22 +0000 (22:21 +0000)]
[SelectionDAG] Add knowbits support for CONCAT_VECTOR opcode

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

7 years ago[X86] Add knownbits concat_vector test
Simon Pilgrim [Fri, 18 Nov 2016 21:59:38 +0000 (21:59 +0000)]
[X86] Add knownbits concat_vector test

Support coming in a future patch

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

7 years ago[Examples] Fix some Clang-tidy modernize-use-default and Include What You Use warning...
Eugene Zelenko [Fri, 18 Nov 2016 21:57:58 +0000 (21:57 +0000)]
[Examples] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes.

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

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

7 years ago[LoopSimplify] Preserve LCSSA when removing edges from unreachable blocks.
Michael Zolotukhin [Fri, 18 Nov 2016 21:01:12 +0000 (21:01 +0000)]
[LoopSimplify] Preserve LCSSA when removing edges from unreachable blocks.

This fixes PR30454.

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

7 years ago[MIRPrinter] XFAIL test for powerpc
Geoff Berry [Fri, 18 Nov 2016 20:08:05 +0000 (20:08 +0000)]
[MIRPrinter] XFAIL test for powerpc

This test introduced in r287368 is failing on powerpc for reasons
unrelated to branch probabilities.  See PR31062.

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

7 years agoRevert "Add link-time detection of LLVM_ABI_BREAKING_CHECKS mismatch"
Mehdi Amini [Fri, 18 Nov 2016 20:02:34 +0000 (20:02 +0000)]
Revert "Add link-time detection of LLVM_ABI_BREAKING_CHECKS mismatch"

This reverts commit r287352, LLDB CI is broken.

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

7 years agoStatistic/Timer: Include timers in PrintStatisticsJSON().
Matthias Braun [Fri, 18 Nov 2016 19:43:24 +0000 (19:43 +0000)]
Statistic/Timer: Include timers in PrintStatisticsJSON().

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

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

7 years agoTimer: Track name and description.
Matthias Braun [Fri, 18 Nov 2016 19:43:18 +0000 (19:43 +0000)]
Timer: Track name and description.

The previously used "names" are rather descriptions (they use multiple
words and contain spaces), use short programming language identifier
like strings for the "names" which should be used when exporting to
machine parseable formats.

Also removed a unused TimerGroup from Hexxagon.

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

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

7 years ago[MIRPrinter] Print raw branch probabilities as expected by MIRParser
Geoff Berry [Fri, 18 Nov 2016 19:37:24 +0000 (19:37 +0000)]
[MIRPrinter] Print raw branch probabilities as expected by MIRParser

Fixes PR28751.

Reviewers: MatzeB, qcolombet

Subscribers: mcrosier, llvm-commits

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

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

7 years agoAMDGPU: Fix unused variable warning
Matt Arsenault [Fri, 18 Nov 2016 18:33:36 +0000 (18:33 +0000)]
AMDGPU: Fix unused variable warning

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

7 years agoFix test from r287353: don't use /dev/null
Hans Wennborg [Fri, 18 Nov 2016 18:27:31 +0000 (18:27 +0000)]
Fix test from r287353: don't use /dev/null

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

7 years ago[LTO] Add option to generate optimization records
Adam Nemet [Fri, 18 Nov 2016 18:06:28 +0000 (18:06 +0000)]
[LTO] Add option to generate optimization records

It is used to drive this from the clang driver via -mllvm.

Same option name is used as in opt.

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

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

7 years ago[DebugInfo] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete...
Eugene Zelenko [Fri, 18 Nov 2016 18:00:19 +0000 (18:00 +0000)]
[DebugInfo] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC).

Per Zachary Turner and Mehdi Amini suggestion to make only post-commit reviews.

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

7 years agoIRMover: Avoid accidentally mapping types from the destination module (PR30799)
Hans Wennborg [Fri, 18 Nov 2016 17:33:05 +0000 (17:33 +0000)]
IRMover: Avoid accidentally mapping types from the destination module (PR30799)

During Module linking, it's possible for SrcM->getIdentifiedStructTypes();
to return types that are actually defined in the destination module
(DstM). Depending on how the bitcode file was read,
getIdentifiedStructTypes() might do a walk over all values, including
metadata nodes, looking for types. In my case, a debug info metadata
node was shared between the two modules, and it referred to a type
defined in the destination module (see test case).

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

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

7 years agoAdd link-time detection of LLVM_ABI_BREAKING_CHECKS mismatch
Mehdi Amini [Fri, 18 Nov 2016 17:28:10 +0000 (17:28 +0000)]
Add link-time detection of LLVM_ABI_BREAKING_CHECKS mismatch

Summary:
LLVM will define a symbol, either EnableABIBreakingChecks or
DisableABIBreakingChecks depending on the configuration setting for
LLVM_ABI_BREAKING_CHECKS.

The llvm-config.h header will add weak references to these symbols in
every clients that includes this header. This should ensure that
a mismatch triggers a link failure (or a load time failure for DSO).

On MSVC, the pragma "detect_mismatch" is used instead.

Reviewers: rnk, jroelofs

Subscribers: llvm-commits, mgorny

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

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

7 years ago[PPC] limit line width to 80 characters
Ehsan Amiri [Fri, 18 Nov 2016 16:24:27 +0000 (16:24 +0000)]
[PPC] limit line width to 80 characters

NFC. Forgot to fix this in the original commit.

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

7 years ago[mips][msa] Implement f16 support
Simon Dardis [Fri, 18 Nov 2016 16:17:44 +0000 (16:17 +0000)]
[mips][msa] Implement f16 support

The MIPS MSA ASE provides instructions to convert to and from half precision
floating point. This patch teaches the MIPS backend to treat f16 as a legal
type and how to promote such values to f32 for the usual set of operations.

As a result of this, the fexup[lr].w intrinsics no longer crash LLVM during
type legalization.

Reviewers: zoran.jovanvoic, vkalintiris

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

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

7 years ago[X86][AVX512] Split AVX512F/AVX512VL tests to demonstrate missed int2fp opportunities...
Simon Pilgrim [Fri, 18 Nov 2016 15:31:36 +0000 (15:31 +0000)]
[X86][AVX512] Split AVX512F/AVX512VL tests to demonstrate missed int2fp opportunities without AVX512VL

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

7 years agoGlobalISel: Fix unconditional fallback with global isel abort is disabled
Tom Stellard [Fri, 18 Nov 2016 14:14:35 +0000 (14:14 +0000)]
GlobalISel: Fix unconditional fallback with global isel abort is disabled

Reviewers: t.p.northover, ab, qcolombet

Subscribers: mehdi_amini, vkalintiris, wdng, dberris, llvm-commits, rovka

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

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

7 years agoAMDGPU/SI: Remove zero_extend patterns for i16 ops selected to 32-bit insts
Tom Stellard [Fri, 18 Nov 2016 13:53:34 +0000 (13:53 +0000)]
AMDGPU/SI: Remove zero_extend patterns for i16 ops selected to 32-bit insts

Summary:
The 32-bit instructions don't zero the high 16-bits like the 16-bit
instructions do.

Reviewers: arsenm

Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, llvm-commits, tony-tye

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

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

7 years ago[simplifycfg][loop-simplify] Preserve loop metadata in 2 transformations.
Florian Hahn [Fri, 18 Nov 2016 13:12:07 +0000 (13:12 +0000)]
[simplifycfg][loop-simplify] Preserve loop metadata in 2 transformations.

insertUniqueBackedgeBlock in lib/Transforms/Utils/LoopSimplify.cpp now
propagates existing llvm.loop metadata to newly the added backedge.

llvm::TryToSimplifyUncondBranchFromEmptyBlock in lib/Transforms/Utils/Local.cpp
now propagates existing llvm.loop metadata to the branch instructions in the
predecessor blocks of the empty block that is removed.

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

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

7 years agoCleanup function with clang-format. NFCI.
Simon Pilgrim [Fri, 18 Nov 2016 12:16:18 +0000 (12:16 +0000)]
Cleanup function with clang-format. NFCI.

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

7 years agoAMDGPU: Fix legalization of MUBUF instructions in shaders
Nicolai Haehnle [Fri, 18 Nov 2016 11:55:52 +0000 (11:55 +0000)]
AMDGPU: Fix legalization of MUBUF instructions in shaders

Summary:
The addr64-based legalization is incorrect for MUBUF instructions with idxen
set as well as for BUFFER_LOAD/STORE_FORMAT_* instructions.  This affects
e.g.  shaders that access buffer textures.

Since we never actually need the addr64-legalization in shaders, this patch
takes the easy route and keys off the calling convention.  If this ever
affects (non-OpenGL) compute, the type of legalization needs to be chosen
based on some TSFlag.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98664

Reviewers: arsenm, tstellarAMD

Subscribers: kzhuravl, wdng, yaxunl, tony-tye, llvm-commits

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

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

7 years agoFix spelling mistakes in MIPS target comments. NFC.
Simon Pilgrim [Fri, 18 Nov 2016 11:53:36 +0000 (11:53 +0000)]
Fix spelling mistakes in MIPS target comments. NFC.

Identified by Pedro Giffuni in PR27636.

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

7 years ago[Power9] Add patterns for vnegd, vnegw
Ehsan Amiri [Fri, 18 Nov 2016 11:05:55 +0000 (11:05 +0000)]
[Power9] Add patterns for vnegd, vnegw

Exploit new instructions by adding patterns to .td file.
https://reviews.llvm.org/D26551

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

7 years agoFix spelling mistakes in AMDGPU target comments. NFC.
Simon Pilgrim [Fri, 18 Nov 2016 11:04:02 +0000 (11:04 +0000)]
Fix spelling mistakes in AMDGPU target comments. NFC.

Identified by Pedro Giffuni in PR27636.

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

7 years ago[X86][AVX2] Add v8i32->v8i64 mul test (PR30845)
Simon Pilgrim [Fri, 18 Nov 2016 11:00:36 +0000 (11:00 +0000)]
[X86][AVX2] Add v8i32->v8i64 mul test (PR30845)

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

7 years agoFix typo in comment. NFC.
Simon Pilgrim [Fri, 18 Nov 2016 10:52:12 +0000 (10:52 +0000)]
Fix typo in comment. NFC.

Identified by Pedro Giffuni in PR27636.

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

7 years ago[PPC][DAGCombine] Convert SETCC to subtract when the result is zero extended
Ehsan Amiri [Fri, 18 Nov 2016 10:41:44 +0000 (10:41 +0000)]
[PPC][DAGCombine] Convert SETCC to subtract when the result is zero extended

When we see a SETCC whose only users are zero extend operations, we can replace
it with a subtraction. This results in doing all calculations in GPRs and
avoids CR use.

Currently we do this only for ULT, ULE, UGT and UGE condition codes. There are
ways that this can be extended. For example for signed condition codes. In that
case we will be introducing additional sign extend instructions, so more careful
profitability analysis may be required.

Another direction to extend this is for equal, not equal conditions. Also when
users of SETCC are any_ext or sign_ext, we might be able to do something
similar.

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

7 years agoFix go binding to adapt the new attribute API
Amaury Sechet [Fri, 18 Nov 2016 10:11:02 +0000 (10:11 +0000)]
Fix go binding to adapt the new attribute API

https://reviews.llvm.org/D26339

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

7 years ago[InstCombine][AVX-512] Teach InstCombineCalls how to handle the intrinsics for variab...
Craig Topper [Fri, 18 Nov 2016 06:04:33 +0000 (06:04 +0000)]
[InstCombine][AVX-512] Teach InstCombineCalls how to handle the intrinsics for variable shift with 16-bit elements.

This is a straightforward extension of the existing support for 32/64-bit element types. Just needed to add the additional instrinsics to the switches.

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

7 years ago[AVX-512] Replace masked 16-bit element variable shift intrinsics with new unmasked...
Craig Topper [Fri, 18 Nov 2016 05:04:44 +0000 (05:04 +0000)]
[AVX-512] Replace masked 16-bit element variable shift intrinsics with new unmasked versions and selects.

The same thing was done to 32-bit and 64-bit element sizes previously.

This will allow us to support these shuffls in InstCombineCalls along with the other variable shift intrinsics.

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

7 years agoAMDGPU: Move redundant setting of inst properties
Matt Arsenault [Fri, 18 Nov 2016 04:42:59 +0000 (04:42 +0000)]
AMDGPU: Move redundant setting of inst properties

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

7 years agoAMDGPU: Fix crash on illegal type for inlineasm
Matt Arsenault [Fri, 18 Nov 2016 04:42:57 +0000 (04:42 +0000)]
AMDGPU: Fix crash on illegal type for inlineasm

There are still crashes on non-MVT types in other
places.

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

7 years agoObject: Simplify; remove unnecessary use of unique_ptr.
Peter Collingbourne [Fri, 18 Nov 2016 03:20:36 +0000 (03:20 +0000)]
Object: Simplify; remove unnecessary use of unique_ptr.

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

7 years agoMachineOperand: Add dump() method
Matthias Braun [Fri, 18 Nov 2016 02:40:40 +0000 (02:40 +0000)]
MachineOperand: Add dump() method

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

7 years agoconvert bpf assembler to look like kernel verifier output
Alexei Starovoitov [Fri, 18 Nov 2016 02:32:35 +0000 (02:32 +0000)]
convert bpf assembler to look like kernel verifier output

since bpf instruction set was introduced people learned to
read and understand kernel verifier output whereas llvm asm
output stayed obscure and unknown. Convert llvm to emit
assembler text similar to kernel to avoid this discrepancy

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

7 years ago[Docs][TableGen] Remove reference to tablegen supporting octal integers. It doesn...
Craig Topper [Fri, 18 Nov 2016 02:28:50 +0000 (02:28 +0000)]
[Docs][TableGen] Remove reference to tablegen supporting octal integers. It doesn't and hasn't for at least 9 years.

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

7 years ago[AVX-512] Support FCOPYSIGN for v16f32 and v8f64
Craig Topper [Fri, 18 Nov 2016 02:25:34 +0000 (02:25 +0000)]
[AVX-512] Support FCOPYSIGN for v16f32 and v8f64

Summary:
This extends FCOPYSIGN support to 512-bit vectors.

I've also added tests to show what the 128-bit and 256-bit cases look like with broadcast loads.

Reviewers: delena, zvi, RKSimon, spatel

Subscribers: llvm-commits

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

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

7 years agoAdd an option to disable libedit
Yichao Yu [Fri, 18 Nov 2016 01:25:49 +0000 (01:25 +0000)]
Add an option to disable libedit

Summary: This should provide the function similar to `--disable-libedit` with the autotools build system, which seems to be missing from the commit (r200595) that adds this.

Reviewers: pcc, beanz

Subscribers: mgorny, llvm-commits

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

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

7 years ago[CUDA] Update docs to indicate that MacOS is now supported.
Justin Lebar [Fri, 18 Nov 2016 00:42:00 +0000 (00:42 +0000)]
[CUDA] Update docs to indicate that MacOS is now supported.

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

7 years ago[CUDA] Update docs; CUDA 8.0 is supported as of a while ago.
Justin Lebar [Fri, 18 Nov 2016 00:41:40 +0000 (00:41 +0000)]
[CUDA] Update docs; CUDA 8.0 is supported as of a while ago.

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

7 years ago[lli] Prefer `exit(1)` to `return 1` for consistency.
Davide Italiano [Thu, 17 Nov 2016 22:59:13 +0000 (22:59 +0000)]
[lli] Prefer `exit(1)` to `return 1` for consistency.

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

7 years ago[lli] Factor out error handling. NFCI.
Davide Italiano [Thu, 17 Nov 2016 22:58:13 +0000 (22:58 +0000)]
[lli] Factor out error handling. NFCI.

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

7 years ago[ReleaseNotes] Mention the completion of the upstreaming of the AVR backend
Dylan McKay [Thu, 17 Nov 2016 22:26:09 +0000 (22:26 +0000)]
[ReleaseNotes] Mention the completion of the upstreaming of the AVR backend

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

7 years ago[CMake] Error when LTO and lld are enabled on Darwin
Petr Hosek [Thu, 17 Nov 2016 20:22:49 +0000 (20:22 +0000)]
[CMake] Error when LTO and lld are enabled on Darwin

lld on Darwin does not currently support LTO.

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

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

7 years agoFix spelling mistakes in Hexagon target comments. NFC.
Simon Pilgrim [Thu, 17 Nov 2016 19:21:20 +0000 (19:21 +0000)]
Fix spelling mistakes in Hexagon target comments. NFC.

Identified by Pedro Giffuni in PR27636.

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

7 years agoFix spelling mistakes in X86 target comments. NFC.
Simon Pilgrim [Thu, 17 Nov 2016 19:03:05 +0000 (19:03 +0000)]
Fix spelling mistakes in X86 target comments. NFC.

Identified by Pedro Giffuni in PR27636.

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

7 years ago[CodeView] Fix some Clang-tidy modernize-use-default, modernize-use-override and...
Eugene Zelenko [Thu, 17 Nov 2016 18:11:21 +0000 (18:11 +0000)]
[CodeView] Fix some Clang-tidy modernize-use-default, modernize-use-override and Include What You Use warnings; other minor fixes (NFC).

Per Zachary Turner and Mehdi Amini suggestion to make only post-commit reviews.

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

7 years ago[libFuzzer] better documentation for -fsanitize-coverage=trace-cmp
Kostya Serebryany [Thu, 17 Nov 2016 17:31:54 +0000 (17:31 +0000)]
[libFuzzer] better documentation for -fsanitize-coverage=trace-cmp

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

7 years ago[asan] Turn on Mach-O global metadata liveness tracking by default
Anna Zaks [Thu, 17 Nov 2016 16:55:40 +0000 (16:55 +0000)]
[asan] Turn on Mach-O global metadata liveness tracking by default

This patch turns on the metadata liveness tracking since all known issues
have been resolved. The future has been implemented in
https://reviews.llvm.org/D16737 and enables support of dead code stripping
option on Mach-O platforms.

As part of enabling the feature, I also plan on reverting the following
patch to compiler-rt:

http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160704/369910.html

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

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

7 years agoRevert "AMDGPU: Enable ConstrainCopy DAG mutation"
Konstantin Zhuravlyov [Thu, 17 Nov 2016 16:41:49 +0000 (16:41 +0000)]
Revert "AMDGPU: Enable ConstrainCopy DAG mutation"

This reverts commit r287146.

This breaks few conformance tests.

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

7 years ago[SCEV] limit recursion depth of CompareSCEVComplexity
Daniil Fukalov [Thu, 17 Nov 2016 16:07:52 +0000 (16:07 +0000)]
[SCEV] limit recursion depth of CompareSCEVComplexity

Summary:
CompareSCEVComplexity goes too deep (50+ on a quite a big unrolled loop) and runs almost infinite time.

Added cache of "equal" SCEV pairs to earlier cutoff of further estimation. Recursion depth limit was also introduced as a parameter.

Reviewers: sanjoy

Subscribers: mzolotukhin, tstellarAMD, llvm-commits

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

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

7 years agoWdocumentation fix
Simon Pilgrim [Thu, 17 Nov 2016 12:21:45 +0000 (12:21 +0000)]
Wdocumentation fix

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

7 years ago[X86][SSE] Improve lowering of vXi64 multiply with known zero 32-bit halves
Simon Pilgrim [Thu, 17 Nov 2016 12:14:49 +0000 (12:14 +0000)]
[X86][SSE] Improve lowering of vXi64 multiply with known zero 32-bit halves

vXi64 multiplication is lowered into 3 calls of vpmuludq with the upper/lower 32-bit halves.

If any of these halves are zero then we can remove individual calls. Although there was isBuildVectorAllZeros code to do this I don't think it ever worked (maybe just for constant folded cases that don't seem to be tested for any longer).

This requires additional X86ISD support for computeKnownBitsForTargetNode, so far I've just added support for X86ISD::VZEXT (VPMOVZX* - helping the AVX2+ cases).

Partial fix for PR30845

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

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

7 years agoFix spelling in comment. NFC.
Simon Pilgrim [Thu, 17 Nov 2016 12:03:05 +0000 (12:03 +0000)]
Fix spelling in comment. NFC.

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

7 years ago[cmake] Move LLVM_BUILD_STATIC check to an earlier point
Pavel Labath [Thu, 17 Nov 2016 11:22:23 +0000 (11:22 +0000)]
[cmake] Move LLVM_BUILD_STATIC check to an earlier point

Summary:
The motivation for this is to enable correct detection of dlopen() on Android.
Android does not provide a static version of libdl, so if we add the -static flag
after performing the check, it will succeed even though subsequent link steps
will fail. With this change we correctly detect the absence of libdl in a
LLVM_BUILD_STATIC build on Android.

The link itself still does not succeed because the code does not check the result
of this check properly, but I plan to fix that in a separate change.

Reviewers: beanz

Subscribers: danalbert, mgorny, srhines, tberghammer, llvm-commits

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

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

7 years ago[ARM] Relax restriction on variadic functions for tailcall optimization
Pablo Barrio [Thu, 17 Nov 2016 10:56:58 +0000 (10:56 +0000)]
[ARM] Relax restriction on variadic functions for tailcall optimization

Summary:
Variadic functions can be treated in the same way as normal functions
with respect to the number and types of parameters.

Reviewers: grosbach, olista01, t.p.northover, rengolin

Subscribers: javed.absar, aemerson, llvm-commits

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

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

7 years ago[X86] RegCall - Handling v64i1 in 32/64 bit target
Oren Ben Simhon [Thu, 17 Nov 2016 09:59:40 +0000 (09:59 +0000)]
[X86] RegCall - Handling v64i1 in 32/64 bit target

Register Calling Convention defines a new behavior for v64i1 types.
This type should be saved in GPR.
However for 32 bit machine we need to split the value into 2 GPRs (because each is 32 bit).

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

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

7 years agoDelete dead code and add asserts instead; NFC
Sanjoy Das [Thu, 17 Nov 2016 07:29:43 +0000 (07:29 +0000)]
Delete dead code and add asserts instead; NFC

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

7 years ago[ImplicitNullCheck] Fix an edge case where we were hoisting incorrectly
Sanjoy Das [Thu, 17 Nov 2016 07:29:40 +0000 (07:29 +0000)]
[ImplicitNullCheck] Fix an edge case where we were hoisting incorrectly

ImplicitNullCheck keeps track of one instruction that the memory
operation depends on that it also hoists with the memory operation.
When hoisting this dependency, it would sometimes clobber a live-in
value to the basic block we were hoisting the two things out of.  Fix
this by explicitly looking for such dependencies.

I also noticed two redundant checks on `MO.isDef()` in IsMIOperandSafe.
They're redundant since register MachineOperands are either Defs or Uses
-- there is no third kind.  I'll change the checks to asserts in a later
commit.

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

7 years ago[X86] Fix formatting. NFC
Craig Topper [Thu, 17 Nov 2016 05:59:55 +0000 (05:59 +0000)]
[X86] Fix formatting. NFC

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

7 years ago[X86] Add a test case where, due to a bug in selectScalarSSELoad, we fold the same...
Craig Topper [Thu, 17 Nov 2016 05:37:39 +0000 (05:37 +0000)]
[X86] Add a test case where, due to a bug in selectScalarSSELoad, we fold the same load twice.

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

7 years ago[XRay] Support AArch64 in LLVM
Dean Michael Berris [Thu, 17 Nov 2016 05:15:37 +0000 (05:15 +0000)]
[XRay] Support AArch64 in LLVM

This patch adds XRay support in LLVM for AArch64 targets.
This patch is one of a series:

Clang: https://reviews.llvm.org/D26415
compiler-rt: https://reviews.llvm.org/D26413

Author: rSerge

Reviewers: rengolin, dberris

Subscribers: amehsan, aemerson, llvm-commits, iid_iunknown

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

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

7 years ago[CMake] [Darwin] Add support for debugging tablegen dependencies
Chris Bieneman [Thu, 17 Nov 2016 04:36:59 +0000 (04:36 +0000)]
[CMake] [Darwin] Add support for debugging tablegen dependencies

This patch adds an option to the build system LLVM_DEPENDENCY_DEBUGGING. Over time I plan to extend this to do more complex verifications, but the initial patch causes compile errors wherever there is missing a dependency on intrinsics_gen.

Because intrinsics_gen is a compile-time dependency not a link-time dependency, everything that relies on the headers generated in intrinsics_gen needs an explicit dependency.

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

7 years ago[CMake] NFC. Updating CMake dependency specifications
Chris Bieneman [Thu, 17 Nov 2016 04:36:50 +0000 (04:36 +0000)]
[CMake] NFC. Updating CMake dependency specifications

This patch updates a bunch of places where add_dependencies was being explicitly called to add dependencies on intrinsics_gen to instead use the DEPENDS named parameter. This cleanup is needed for a patch I'm working on to add a dependency debugging mode to the build system.

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

7 years ago[AMDGPU] Add missing test for rL287203
Konstantin Zhuravlyov [Thu, 17 Nov 2016 04:33:20 +0000 (04:33 +0000)]
[AMDGPU] Add missing test for rL287203

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

7 years ago[AMDGPU] Custom lower f16 = fp_round f64
Konstantin Zhuravlyov [Thu, 17 Nov 2016 04:28:37 +0000 (04:28 +0000)]
[AMDGPU] Custom lower f16 = fp_round f64

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

7 years ago[AMDGPU] Promote f16/i16 conversions to f32/i32
Konstantin Zhuravlyov [Thu, 17 Nov 2016 04:00:46 +0000 (04:00 +0000)]
[AMDGPU] Promote f16/i16 conversions to f32/i32

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

7 years ago[AMDGPU] Expand `br_cc` for f16
Konstantin Zhuravlyov [Thu, 17 Nov 2016 03:49:01 +0000 (03:49 +0000)]
[AMDGPU] Expand `br_cc` for f16

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

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

7 years ago[Orc] Clang-format the recent RPC update (r286620 and related).
Lang Hames [Thu, 17 Nov 2016 02:33:47 +0000 (02:33 +0000)]
[Orc] Clang-format the recent RPC update (r286620 and related).

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

7 years agoUse profile info to adjust loop unroll threshold.
Dehao Chen [Thu, 17 Nov 2016 01:17:02 +0000 (01:17 +0000)]
Use profile info to adjust loop unroll threshold.

Summary:
For flat loop, even if it is hot, it is not a good idea to unroll in runtime, thus we set a lower partial unroll threshold.
For hot loop, we set a higher unroll threshold and allows expensive tripcount computation to allow more aggressive unrolling.

Reviewers: davidxl, mzolotukhin

Subscribers: sanjoy, mehdi_amini, llvm-commits

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

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

7 years ago[CUDA] Update docs to indicate that clang now supports std::complex in CUDA mode.
Justin Lebar [Thu, 17 Nov 2016 01:03:42 +0000 (01:03 +0000)]
[CUDA] Update docs to indicate that clang now supports std::complex in CUDA mode.

The last remaining necessary change was D25403, landed as r287012.

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

7 years agoRemove a stale test case.
Lang Hames [Thu, 17 Nov 2016 01:02:52 +0000 (01:02 +0000)]
Remove a stale test case.

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

7 years agollvm-dis: Remove dead code.
Peter Collingbourne [Thu, 17 Nov 2016 00:42:08 +0000 (00:42 +0000)]
llvm-dis: Remove dead code.

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

7 years ago[AVR] Remove some accidentally-commited code that broke the bots
Dylan McKay [Thu, 17 Nov 2016 00:09:38 +0000 (00:09 +0000)]
[AVR] Remove some accidentally-commited code that broke the bots

This is a remnant of an on-chip unit testing tool that has since been
moved out-of-tree.

It was accidentally committed in r287162.

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

7 years agoIntroduce GlobalSplit pass.
Peter Collingbourne [Wed, 16 Nov 2016 23:40:26 +0000 (23:40 +0000)]
Introduce GlobalSplit pass.

This pass splits globals into elements using inrange annotations on
getelementptr indices.

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

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

7 years ago[AVR] Wrap all methods in the pseudo expansion pass in an anon namespace
Dylan McKay [Wed, 16 Nov 2016 23:06:14 +0000 (23:06 +0000)]
[AVR] Wrap all methods in the pseudo expansion pass in an anon namespace

The '-fpermissive' compiler flag complains if the template
specializations used in the class are used in a different namespace.

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

7 years ago[AVR] Fix basic block naming in ctlz and cttz tests
Dylan McKay [Wed, 16 Nov 2016 22:48:38 +0000 (22:48 +0000)]
[AVR] Fix basic block naming in ctlz and cttz tests

The branch selector would change the names.

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

7 years ago[AVR] Remove unused method from AVRTargetMachine
Dylan McKay [Wed, 16 Nov 2016 22:48:30 +0000 (22:48 +0000)]
[AVR] Remove unused method from AVRTargetMachine

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

7 years ago[AVR] Add tests for counting leading/trailing zeros
Dylan McKay [Wed, 16 Nov 2016 22:38:43 +0000 (22:38 +0000)]
[AVR] Add tests for counting leading/trailing zeros

This adds two test files that verify the 'cttz' and 'ctlz' operations.

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

7 years ago[x86] allow FP-logic ops when one operand is FP and result is FP
Sanjay Patel [Wed, 16 Nov 2016 22:34:05 +0000 (22:34 +0000)]
[x86] allow FP-logic ops when one operand is FP and result is FP

We save an inter-register file move this way. If there's any CPU where
the FP logic is slower, we could transform this back to int-logic in
MachineCombiner.

This helps, but doesn't solve, PR6137:
https://llvm.org/bugs/show_bug.cgi?id=6137

The 'andn' test shows that we're missing a pattern match to
recognize the xor with -1 constant as a 'not' op.

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

7 years ago[AsmParser] Avoid recursing when lexing ';'. NFC.
Ahmed Bougacha [Wed, 16 Nov 2016 22:25:05 +0000 (22:25 +0000)]
[AsmParser] Avoid recursing when lexing ';'. NFC.

This should prevent stack overflows in non-optimized builds on
.ll files with lots of consecutive commented-out lines.

Instead of recursing into LexToken(), continue into a 'while (true)'.

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