Commit Graph

128686 Commits

Author SHA1 Message Date
Adam Nemet
db96e9895d [LAA] Improve comment for isStridedPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262997 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 05:33:19 +00:00
Dan Gohman
0f7f7def70 [WebAssembly] Update comments about irreducible control flow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262995 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 04:17:36 +00:00
Sean Silva
91639a80c3 Use lto_bool_t instead of a raw bool (fixup for r262977).
Hopefully this should bring
llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast back to life.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262994 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 04:05:28 +00:00
Mehdi Amini
1749363297 Fix ThinLTO test: depends on the X86 backend
From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262993 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 04:04:40 +00:00
Mehdi Amini
5e01ef406b void foo() is not a valid C prototype, one has to write void foo(void)
Remove a warning introduced in r262977

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262990 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 02:36:09 +00:00
Sanjoy Das
f3ceb82abb Return StringRef instead of a naked char*; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262989 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 02:34:19 +00:00
Sanjoy Das
4e05e1c0ff [IRCE] Reflow comments; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262988 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 02:34:15 +00:00
Mehdi Amini
856eaf91e1 Fix library dependency for llvm-lto after r262977
It is a transitive dependency, so static build are OK but not build
with individual DSO for each LLVM library.

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262987 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 02:34:13 +00:00
Dan Gohman
09588765a8 [WebAssembly] Implement irreducible control flow.
This implements a very simple conservative transformation that doesn't
require more than linear code size growth. There's room for much more
optimization in this space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262982 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 02:01:14 +00:00
Mehdi Amini
537911831c Fix GOLD plugin build after r262976
From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262981 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 01:55:15 +00:00
Sanjoy Das
7a015d3d92 Remove trailing newline from test case; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262980 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 01:51:44 +00:00
Sanjoy Das
74ca3d983b [SCEV] Slightly generalize getRangeViaFactoring
Building on the previous change, this generalizes
ScalarEvolution::getRangeViaFactoring to work with
{Ext(C?A:B)+k0,+,Ext(C?A:B)+k1} where Ext can be a zero extend, sign
extend or truncate operation, and k0 and k1 are constants.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262979 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 01:51:02 +00:00
Sanjoy Das
59c4644550 [SCEV] Slightly generalize getRangeViaFactoring
This change generalizes ScalarEvolution::getRangeViaFactoring to work
with {Ext(C?A:B),+,Ext(C?A:B)} where Ext can be a zero extend, sign
extend or truncate operation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262978 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 01:50:57 +00:00
Mehdi Amini
73cf01b193 libLTO: add a ThinLTOCodeGenerator on the model of LTOCodeGenerator.
This is intended to provide a parallel (threaded) ThinLTO scheme
for linker plugin use through the libLTO C API.

The intent of this patch is to provide a first implementation as a
proof-of-concept and allows linker to start supporting ThinLTO by
definiing the libLTO C API. Some part of the libLTO API are left
unimplemented yet. Following patches will add support for these.

The current implementation can link all clang/llvm binaries.

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

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262977 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 01:37:22 +00:00
Mehdi Amini
ec57137c98 FunctionIndex is not optional for renameModuleForThinLTO(), make it a reference (NFC)
From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262976 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-09 01:37:14 +00:00
Zachary Turner
a20f3bcccd [llvm-pdbdump] Dump line table information.
This patch adds the -lines command line option which will dump
source/line information for each compiland and source file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262962 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 21:42:24 +00:00
Sanjay Patel
50c79efd00 fix typo; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262961 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 21:41:13 +00:00
Sanjay Patel
1ede7cb611 use range-based for loop; NFCI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262956 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 20:53:48 +00:00
Sanjay Patel
be9115f49d fix variable name; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262953 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 19:07:42 +00:00
Sanjay Patel
57d9dbefb3 use range-based loop; NFCI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262952 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 19:06:12 +00:00
Hans Wennborg
44e9ec2873 Add self to CODE_OWNERS
Apparently this makes my email address easier to find.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262951 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 19:01:15 +00:00
Saleem Abdulrasool
c31c2a434f cmake: include what you use
Add a missing include.  This is important in the case HandleLLVMOptions is
included prior to the missing CheckCXXSourceCompiles or CheckCXXCompilerFlag
which includes CheckCXXSourceCompiles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262949 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 18:56:00 +00:00
Chris Bieneman
7c1ba5c1c1 [CMake] Refactor add_llvm_implicit_projects to be reusable
This adds llvm_add_implicit_projects which takes a project name and is wrapped by add_llvm_implicit_projects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262948 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 18:43:28 +00:00
Chad Rosier
9524e85d1d [AArch64] Disable the MI scheduler to turn bots green after r262942.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262944 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 17:33:34 +00:00
Quentin Colombet
491d1356a7 Revert r262759 and r262760.
The fix consisting in using the library call for atomic compare and swap when
the instruction is not safe to use may be incorrect. Indeed the library call may
not exist on all platform. In other words, we need a better fix! 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262943 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 17:29:11 +00:00
Chad Rosier
3d1145193c [AArch64] Add MMOs to unscaled pairs.
Test to be committed in follow up commit, per discussion in D17097.
http://reviews.llvm.org/D17097

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262942 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 17:16:38 +00:00
Sanjay Patel
94c032fe90 rangify, fix function names; NFCI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262940 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 17:12:32 +00:00
Krzysztof Parzyszek
05a0bf3589 Invoke DAG postprocessing in the post-RA scheduler
This was inadvertently omitted from r262774, which added the mutation
interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262939 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 16:54:20 +00:00
Sanjay Patel
593168882c don't repeat function names in documentation comments; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262937 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 16:26:39 +00:00
Artyom Skrobov
c6b7905144 [ARM] Simplify ARMInstr*.td by getting rid of identity PatFrags (NFC)
Reviewers: t.p.northover, grosbach, resistor

Subscribers: aemerson, rengolin, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262936 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 16:23:54 +00:00
Hans Wennborg
56c1fb24e4 Revert r262599 "[X86][SSE] Improve vector ZERO_EXTEND by combining to ZERO_EXTEND_VECTOR_INREG"
This caused PR26870.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262935 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 16:21:41 +00:00
Manuel Klimek
8b37c12900 Fix problem with uninitilialized bool found by asan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262934 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 16:17:48 +00:00
Krzysztof Parzyszek
965326494a Add DAG mutation interface to the DFA packetizer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262930 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 15:33:51 +00:00
Igor Breger
0fb75e4e92 AVX512: Add extract_subvector patterns v8i1->v4i1 , v4i1->v2i1.
Differential Revision: http://reviews.llvm.org/D17953

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262929 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 15:21:25 +00:00
Benjamin Kramer
b644c0ae0a [gold] Avoid assertion failures when taking a pointer to an empty vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262926 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 14:02:46 +00:00
Filipe Cabecinhas
8a96b704a3 [llvm-config] Get rid of code related to the Makefile builds
Summary: I left --build-system for backwards compat, in case there are scripts using it. Feel free to ask for its removal too.

Reviewers: chapuni, tstellarAMD

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262924 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 11:49:24 +00:00
Simon Pilgrim
4aaa0e7c6a [X86] Regenerated vector float extension tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262919 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 09:17:12 +00:00
Junmo Park
35d44767f6 Remove pr25342 test-case.
This commit removes pr25342 for reverting r262670 clearly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262918 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 07:42:12 +00:00
Junmo Park
23c40a726f Revert "[InstCombine] Combine A->B->A BitCast"
This reverts commit r262670 due to compile failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262916 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 07:09:46 +00:00
Justin Bogner
a36efde3c8 SelectionDAG: Appease the bots that don't like my union
Should fix the breakage in r262902.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262908 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 03:51:58 +00:00
Peter Collingbourne
fb8bf30df5 Fix evaluation order. Spotted by Alexander Riccio!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262907 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 03:50:36 +00:00
Kit Barton
7cca145db8 [Power9] Implement new vsx instructions: load, store instructions for vector and scalar
We follow the comments mentioned in http://reviews.llvm.org/D16842#344378 to
implement this new patch.

This patch implements the following vsx instructions:

Vector load/store:
lxv lxvx lxvb16x lxvl lxvll lxvh8x lxvwsx
stxv stxvb16x stxvh8x stxvl stxvll stxvx
Scalar load/store:
lxsd lxssp lxsibzx lxsihzx
stxsd stxssp stxsibx stxsihx
21 instructions

Phabricator: http://reviews.llvm.org/D16919

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262906 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 03:49:13 +00:00
Dan Gohman
2d88e345fe [WebAssembly] Update for spec change from tableswitch to br_table.
Also note that the operand order changed; the default label is now listed
after the regular labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262903 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 03:18:12 +00:00
Justin Bogner
6fc18536b7 Re-apply "SelectionDAG: Store SDNode operands in an ArrayRecycler"
This re-applies r262886 with a fix for 32 bit platforms that have 8 byte
pointer alignment, effectively reverting r262892.

Original Message:

  Currently some SDNode operands are malloc'd, some are stored inline in
  subclasses of SDNode, and some are thrown into a BumpPtrAllocator.
  This scheme is complex, inconsistent, and makes refactoring SDNodes
  fairly difficult.

  Instead, we can allocate all of the operands using an ArrayRecycler
  that wraps a BumpPtrAllocator. This keeps the cache locality when
  iterating operands, improves locality when iterating SDNodes without
  looking at operands, and vastly simplifies the ownership semantics.

  It also means we stop overallocating SDNodes by 2-3x and will make it
  simpler to fix the rampant undefined behaviour we have in how we
  mutate SDNodes from one kind to another (See llvm.org/pr26808).

  This is NFC other than the changes in memory behaviour, and I ran some
  LNT tests to make sure this didn't hurt compile time. Not many tests
  changed: there were a couple of 1-2% regressions reported, but there
  were more improvements (of up to 4%) than regressions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262902 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 03:14:29 +00:00
Quentin Colombet
252dec6972 [MIR] Change the token name for '<' and '>' to be consitent with the LLVM IR parser.
Thanks to Ahmed Bougacha for noticing!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262899 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 02:00:43 +00:00
Quentin Colombet
520819d997 [AArch64][GlobalISel] Add a test case for the IRTranslator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262898 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 01:48:08 +00:00
Quentin Colombet
76cdab6f0a [AArch64] Initialize GlobalISel as part of the target initialization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262897 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 01:45:36 +00:00
Quentin Colombet
1f00e2d8f3 [GlobalISel] Introduce initializer method to support start/stop-after features.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262896 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 01:38:55 +00:00
Quentin Colombet
13129166eb [MIR] Teach the parser/printer that generic virtual registers do not need a register class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262893 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 01:17:03 +00:00
Justin Bogner
2a7cc3e509 Revert "SelectionDAG: Store SDNode operands in an ArrayRecycler"
Looks like the largest SDNode is different between 32 and 64 bit now,
so this is breaking 32 bit bots. Reverting while I figure out a fix.

This reverts r262886.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262892 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-08 01:07:03 +00:00