David Majnemer
dcd6c79d55
Fix buildbot failures
...
llvm-svn: 258655
2016-01-24 06:40:37 +00:00
David Majnemer
88542a0a69
[SCCP] Remove duplicate code
...
SCCP has code identical to changeToUnreachable's behavior, switch it
over to just call changeToUnreachable.
No functionality change intended.
llvm-svn: 258654
2016-01-24 06:26:47 +00:00
David Majnemer
35c46d3e0b
[InstCombine, SCCP] Consolidate code used to remove instructions
...
InstCombine and SCCP both want to remove dead code in a very particular
way but using identical means to do so. Share the code between the two.
No functionality change is intended.
llvm-svn: 258653
2016-01-24 05:26:18 +00:00
Betul Buyukkurt
7e15272bbe
[PGO] Windows buildbot failure fix. [NFC]
...
llvm-svn: 258652
2016-01-24 00:56:19 +00:00
David Majnemer
b7d49268c2
[WinEH] Don't miscompile cleanups which conditionally unwind to caller
...
A cleanup can have paths which unwind or end up in unreachable.
If there is an unreachable path *and* a path which unwinds to caller,
we would mistakenly inject an unwind path to a catchswitch on the
unreachable path. This results in a verifier assertion firing because
the cleanup unwinds to two different places: to the caller and to the
catchswitch.
This occured because we used getCleanupRetUnwindDest to determine if the
cleanuppad had no cleanuprets.
This is incorrect, getCleanupRetUnwindDest returns null for cleanuprets
which unwind to caller.
llvm-svn: 258651
2016-01-23 23:54:33 +00:00
Betul Buyukkurt
518276a5fe
Clang changes for value profiling
...
Differential Revision: http://reviews.llvm.org/D8940
llvm-svn: 258650
2016-01-23 22:50:44 +00:00
Manuel Jacob
0af37b21c8
Remove duplicate documentation in ConstantFolding.cpp. NFC.
...
The documentation for these functions is already present in the header file.
llvm-svn: 258649
2016-01-23 22:49:54 +00:00
Manuel Jacob
5d073c4508
Remove duplicate documentation in Attributes.cpp. NFC.
...
The documentation for these methods is already present in the header.
llvm-svn: 258648
2016-01-23 22:42:24 +00:00
Manuel Jacob
25510fcf5c
Update outdated method documention in Attributes.h. NFC.
...
Nowadays the alignment attribute is not the only integer attribute.
llvm-svn: 258647
2016-01-23 22:38:39 +00:00
Simon Pilgrim
02c1b54a4a
[SelectionDAG] Generalised the CONCAT_VECTORS creation to support BUILD_VECTOR and UNDEF folding.
...
llvm-svn: 258646
2016-01-23 22:27:54 +00:00
Simon Pilgrim
0423b382d3
[X86][SSE] Generalised TRUNC -> PACKSS/PACKUS code. NFC.
...
Generalised mask generation / subvector extraction to use the input/output types directly instead of an if/else through all the currently accepted types.
llvm-svn: 258645
2016-01-23 22:02:48 +00:00
Simon Pilgrim
b9b8fcd831
Tidied up TRUNC combine code. NFC.
...
Make use of DAG.getBitcast and use clang-format to reduce number of lines (and make it more readable).
llvm-svn: 258644
2016-01-23 21:50:40 +00:00
Justin Lebar
e48cd6c530
[CUDA] Disallow variadic functions other than printf in device code.
...
Reviewers: tra
Subscribers: cfe-commits, echristo, jhen
Differential Revision: http://reviews.llvm.org/D16484
llvm-svn: 258643
2016-01-23 21:28:17 +00:00
Justin Lebar
3039a593db
[CUDA] Make printf work.
...
Summary:
The code in CGCUDACall is largely based on a patch written by Eli
Bendersky:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20140324/210218.html
That patch implemented an LLVM pass lowering printf to vprintf; this
one does something similar, but in Clang codegen.
Reviewers: echristo
Subscribers: cfe-commits, jhen, tra, majnemer
Differential Revision: http://reviews.llvm.org/D16372
llvm-svn: 258642
2016-01-23 21:28:14 +00:00
Justin Lebar
a8f0254bc1
[CUDA] Reject the alias attribute in CUDA device code.
...
Summary: CUDA (well, strictly speaking, NVPTX) doesn't support aliases.
Reviewers: echristo
Subscribers: cfe-commits, jhen, tra
Differential Revision: http://reviews.llvm.org/D16502
llvm-svn: 258641
2016-01-23 21:28:10 +00:00
Justin Lebar
b2db45065c
[CUDA] Use Triple::isNVPTX() instead of enumerating nvptx && nvptx64.
...
Summary: No functional changes.
Subscribers: tra, echristo, jhen, cfe-commits
Differential Revision: http://reviews.llvm.org/D16495
llvm-svn: 258640
2016-01-23 21:28:08 +00:00
Justin Lebar
561d5a1758
[CUDA] Add Target::isNVPTX().
...
Summary: Helper so we don't have to enumerate nvptx && nvptx64 everywhere.
Reviewers: echristo
Subscribers: llvm-commits, jhen, tra
Differential Revision: http://reviews.llvm.org/D16494
llvm-svn: 258639
2016-01-23 21:12:22 +00:00
Justin Lebar
3a5f5798a1
[CUDA] Die gracefully when trying to output an LLVM alias.
...
Summary:
Previously, we would just output "foo = bar" in the assembly, and then
ptxas would choke. Now we die before emitting any invalid code.
Reviewers: echristo
Subscribers: jholewinski, llvm-commits, jhen, tra
Differential Revision: http://reviews.llvm.org/D16490
llvm-svn: 258638
2016-01-23 21:12:20 +00:00
Justin Lebar
2a161f986f
[CUDA] Make empty parameter lists in nvptx function decls easier to read.
...
Summary:
Before:
.func (.param .b32 func_retval0) _ZL21__nvvm_reflect_anchorv(
)
{
After:
.func (.param .b32 func_retval0) _ZL21__nvvm_reflect_anchorv()
{
Reviewers: bkramer
Subscribers: llvm-commits, tra, jhen, echristo, jholewinski
Differential Revision: http://reviews.llvm.org/D16512
llvm-svn: 258637
2016-01-23 21:12:17 +00:00
Benjamin Kramer
58e1998520
Don't check if a list is empty with ilist::size.
...
ilist::size() is O(n) while ilist::empty() is O(1)
llvm-svn: 258636
2016-01-23 20:58:09 +00:00
NAKAMURA Takumi
e2b032a5b0
ObjectTransformLayerTest.cpp: Rework r258633. [-Winconsistent-missing-override]
...
Sorry for the noise.
llvm-svn: 258635
2016-01-23 20:48:50 +00:00
NAKAMURA Takumi
7f957926a4
ObjectTransformLayerTest.cpp: Fix a warning. [-Wredundant-move]
...
llvm-svn: 258634
2016-01-23 20:45:55 +00:00
NAKAMURA Takumi
63fb066a7d
ObjectTransformLayerTest.cpp: Fix a warning. [-Winconsistent-missing-override]
...
llvm-svn: 258633
2016-01-23 20:45:50 +00:00
Tobias Grosser
c9abde8c51
ScopInfo: Simplify code by folding definition into if
...
llvm-svn: 258632
2016-01-23 20:23:06 +00:00
Kostya Serebryany
9768e7f06b
[libFuzzer] add -abort_on_timeout option
...
llvm-svn: 258631
2016-01-23 19:34:19 +00:00
Joseph Tremoulet
23d02f6149
[ORC] Update ObjectTransformLayer signature
...
Summary:
Update ObjectTransformLayer::addObjectSet to take the object set by
value rather than reference and pass it to the base layer with move
semantics rather than copy, to match r258185's changes to
ObjectLinkingLayer.
Update the unit test to verify that ObjectTransformLayer's signature stays
in sync with ObjectLinkingLayer's.
Reviewers: lhames
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16414
llvm-svn: 258630
2016-01-23 18:36:01 +00:00
Sanjay Patel
a41ecae46e
regenerate checks and note some near-term improvements
...
For the moment, this file takes way too long to run (see inline comments), but
that should be a temporary problem. The fact that the compile time is so slow
for a target that doesn't support maskmov may be a bug worth investigating too.
llvm-svn: 258629
2016-01-23 17:52:56 +00:00
Aaron Ballman
a681151ebd
Improving documentation for the isMoveAssignmentOperator AST matcher.
...
Patch by Jonathan Coe.
llvm-svn: 258628
2016-01-23 17:49:18 +00:00
Akira Hatanaka
1235d280d8
[Bitcode] Insert the darwin wrapper at the beginning of a file when the
...
target is macho.
It looks like the check for macho was accidentally dropped in r132959.
I don't have a test case, but I'll add one if anyone knows how this can
be tested.
llvm-svn: 258627
2016-01-23 16:02:10 +00:00
Aaron Ballman
add830b5d1
Silence a -Wparentheses warning; NFC.
...
llvm-svn: 258626
2016-01-23 15:42:21 +00:00
Duncan P. N. Exon Smith
ad783ce909
Revert "unordered_map: Reuse insert logic in emplace when possible, NFC"
...
This reverts commit r258575. EricWF sent me an email (no link since it
was off-list) requesting to review this pre-commit instead of
post-commit.
llvm-svn: 258625
2016-01-23 15:12:47 +00:00
Simon Pilgrim
ead22d095e
Added missing comment. NFC.
...
llvm-svn: 258624
2016-01-23 14:38:02 +00:00
NAKAMURA Takumi
0933b4280a
AlignOf.h: Satisfy both g++-4.7 and msc18.
...
llvm-svn: 258623
2016-01-23 13:52:09 +00:00
Simon Pilgrim
fd66169341
[X86][SSE] Remove INSERTPS dependencies from unreferenced operands.
...
If the INSERTPS zeroes out all the referenced elements from either of the 2 input vectors (and the input is not already UNDEF), then set that input to UNDEF to reduce dependencies.
llvm-svn: 258622
2016-01-23 13:37:07 +00:00
Mohit K. Bhakkad
0d9dd7df60
[LLDB] Consider only valid symbols while resolving by address
...
Reviewers: clayborg.
Subscribers: jaydeep, bhushan, sagar, nitesh.jain, lldb-commits.
Differential Revision: http://reviews.llvm.org/D16397
llvm-svn: 258621
2016-01-23 10:36:06 +00:00
Haicheng Wu
dd5e9d2159
[LIR] Add support for structs and hand unrolled loops
...
Now LIR can turn following codes into memset:
typedef struct foo {
int a;
int b;
} foo_t;
void bar(foo_t *f, unsigned n) {
for (unsigned i = 0; i < n; ++i) {
f[i].a = 0;
f[i].b = 0;
}
}
void test(foo_t *f, unsigned n) {
for (unsigned i = 0; i < n; i += 2) {
f[i] = 0;
f[i+1] = 0;
}
}
llvm-svn: 258620
2016-01-23 06:52:41 +00:00
Matthias Braun
327bca776c
Inline variable into assert
...
Seems like some compilers still give unused variable warnings for
bool var = ...;
(void)var;
so I have to inline the variable.
llvm-svn: 258619
2016-01-23 06:49:29 +00:00
NAKAMURA Takumi
9974fa9c8c
AArch64ISelLowering.cpp: Fix a warning. [-Wunused-variable]
...
llvm-svn: 258618
2016-01-23 06:34:59 +00:00
Junmo Park
75e9d64aa2
Remove extra whitespace. NFC.
...
llvm-svn: 258617
2016-01-23 06:34:36 +00:00
David Majnemer
6e51070dda
[PruneEH] Don't try to insert a terminator after another terminator
...
LLVM's BasicBlock has a single terminator, it is not valid to have two.
llvm-svn: 258616
2016-01-23 06:00:44 +00:00
Manuel Jacob
45cc9bb581
Put space after pointer type in test. NFC.
...
llvm-svn: 258615
2016-01-23 05:47:34 +00:00
Matt Arsenault
8aa5678125
AMDGPU: Replace some deprecated intrinsic uses in tests
...
llvm-svn: 258614
2016-01-23 05:42:49 +00:00
Matt Arsenault
325cca33ec
AMDGPU: Run instnamer on a few tests
...
This will make future test updates easier
llvm-svn: 258613
2016-01-23 05:42:43 +00:00
Matt Arsenault
7713162c32
AMDGPU: Remove more unused intrinsics
...
Replace tests with lrp with basic IR expansion
llvm-svn: 258612
2016-01-23 05:42:38 +00:00
David Majnemer
4bf0b6b483
[PruneEH] FuncletPads must not have undef operands
...
Instead of RAUW with undef, replace the first non-token instruction with
unreachable.
This fixes PR26263.
llvm-svn: 258611
2016-01-23 05:41:29 +00:00
David Majnemer
2d728ec55d
[PruneEH] Unify invoke and call handling in DeleteBasicBlock
...
No functionality change is intended.
llvm-svn: 258610
2016-01-23 05:41:27 +00:00
David Majnemer
146d781717
[PruneEH] Reuse code from removeUnwindEdge
...
PruneEH had functionality idential to removeUnwindEdge.
Consolidate around removeUnwindEdge.
No functionality change is intended.
llvm-svn: 258609
2016-01-23 05:41:22 +00:00
Matt Arsenault
f75257aaa6
AMDGPU: Move amdgcn intrinsic handling into SITargetLowering
...
llvm-svn: 258608
2016-01-23 05:32:20 +00:00
Matt Arsenault
f1341406bf
AMDGPU: Remove IntrNoMem from llvm.SI.sendmsg
...
This has side effects.
llvm-svn: 258607
2016-01-23 05:32:18 +00:00
Matt Arsenault
2a93bb6365
AMDGPU: Remove Feature64BitPtr
...
This is a leftover from AMDIL that doesn't do anything
and doesn't belong here.
llvm-svn: 258606
2016-01-23 05:32:14 +00:00