Daniel Jasper
3d5a7d6b65
clang-format: [Proto] Don't do bad things if imports are missing ;.
...
llvm-svn: 273179
2016-06-20 18:20:38 +00:00
Matt Arsenault
4deb4ed21e
Update for DiagnosticInfoStackSize changes
...
llvm-svn: 273178
2016-06-20 18:13:09 +00:00
Matt Arsenault
ff98241f37
Generalize DiagnosticInfoStackSize to support other limits
...
Backends may want to report errors on resources other than
stack size.
llvm-svn: 273177
2016-06-20 18:13:04 +00:00
Etienne Bergeron
3ac879f9a6
Add missing decoding patterns toRoundUpToInstrBoundary
...
Summary:
The RoundUpToInstrBoundary determines intructions boundary and it's used to determine how to patch (intercept) functions.
The current x64-bit implementation is incomplete. This patch is adding patterns observed when trying to sanitize a 64-bit executable on my computer.
Thw two current functions not intercepted are:
```
RaiseExceptionStub:
000000007720C3B0 EB 06 jmp RaiseException (07720C3B8h)
000000007720C3B2 90 nop
000000007720C3B3 90 nop
000000007720C3B4 90 nop
000000007720C3B5 90 nop
000000007720C3B6 90 nop
000000007720C3B7 90 nop
RaiseException:
000000007720C3B8 FF 25 3A 18 09 00 jmp qword ptr [__imp_RaiseException (07729DBF8h)]
000000007720C3BE 8B 44 24 54 mov eax,dword ptr [rsp+54h]
000000007720C3C2 85 C0 test eax,eax
000000007720C3C4 0F 84 F5 05 00 00 je Wow64NtCreateKey+12Fh (07720C9BFh)
```
```
CreateThreadStub:
0000000077215A10 48 83 EC 48 sub rsp,48h
0000000077215A14 48 8B 44 24 78 mov rax,qword ptr [rsp+78h]
0000000077215A19 48 89 44 24 38 mov qword ptr [rsp+38h],rax
0000000077215A1E 8B 44 24 70 mov eax,dword ptr [rsp+70h]
```
Reviewers: rnk
Subscribers: wang0109, chrisha
Differential Revision: http://reviews.llvm.org/D21519
llvm-svn: 273176
2016-06-20 18:00:03 +00:00
Davide Italiano
a074fe41bf
[ELF] Accept --soname= (two dashes).
...
Update an existing test to exercise the new functionality, while
I'm here.
llvm-svn: 273175
2016-06-20 17:58:09 +00:00
Evgeniy Stepanov
352289b679
Hide send/sendto/sendmsg interptors under a flag.
...
A runtime flag to enable checking in send* interceptors.
Checking is enabled by default.
llvm-svn: 273174
2016-06-20 17:57:51 +00:00
Sanjay Patel
06918ad79e
[InstCombine] update to use FileCheck with autogenerated exact checking
...
llvm-svn: 273173
2016-06-20 17:56:13 +00:00
Matt Arsenault
a9720c67f1
AMDGPU: Use correct method for determining instruction size
...
llvm-svn: 273172
2016-06-20 17:51:32 +00:00
Adrian McCarthy
f833141187
Properly handle short file names on the command line in Windows [TAKE 2]
...
Trying to expand short names with a relative path doesn't work, so this
first gets the module name to get a full path (which can still have short
names).
llvm-svn: 273171
2016-06-20 17:51:27 +00:00
Sanjay Patel
a038240660
[InstCombine] regenerate checks
...
llvm-svn: 273170
2016-06-20 17:48:48 +00:00
Rafael Espindola
959e9c8d01
Use shouldAssumeDSOLocal.
...
With this ARM fast isel knows that PIE variable are not preemptable.
llvm-svn: 273169
2016-06-20 17:45:33 +00:00
Tom Stellard
5350894265
AMDGPU: Add support for R_AMDGPU_REL32 relocations
...
Reviewers: arsenm, kzhuravl, rafael
Subscribers: arsenm, llvm-commits, kzhuravl
Differential Revision: http://reviews.llvm.org/D21401
llvm-svn: 273168
2016-06-20 17:33:43 +00:00
Rafael Espindola
9935766458
Simplify. NFC.
...
llvm-svn: 273167
2016-06-20 17:00:13 +00:00
Tom Stellard
1c89eb7db0
AMDGPU: Emit R_AMDGPU_ABS32_{HI,LO} for scratch buffer relocations
...
Reviewers: arsenm, rafael, kzhuravl
Subscribers: rafael, arsenm, llvm-commits, kzhuravl
Differential Revision: http://reviews.llvm.org/D21400
llvm-svn: 273166
2016-06-20 16:59:44 +00:00
Sam Parker
d616cf07b2
[ARM] Enable isel of UMAAL
...
TargetLowering and DAGToDAG are used to combine ADDC, ADDE and UMLAL
dags into UMAAL. Selection is split into the two phases because it
is easier to match the two patterns at those different times.
Differential Revision: http://http://reviews.llvm.org/D21461
llvm-svn: 273165
2016-06-20 16:47:09 +00:00
Rafael Espindola
0f89833c31
Add a isPositionIndependent predicate.
...
Reduces a bit of code duplication and clarify where we are interested
just on position independence and no the location of the symbol.
llvm-svn: 273164
2016-06-20 16:43:17 +00:00
David Majnemer
41ff4fdcd4
Forgot to update callers of deleteDeadInstruction
...
llvm-svn: 273163
2016-06-20 16:07:38 +00:00
David Majnemer
c5601df9fd
Reapply "[LoopIdiom] Don't remove dead operands manually"
...
This reverts commit r273160, reapplying r273132.
RecursivelyDeleteTriviallyDeadInstructions cannot be called on a
parentless Instruction.
llvm-svn: 273162
2016-06-20 16:03:25 +00:00
Aaron Ballman
86100fc8be
Removing an unused switch statement that has only a default label. This happens to also eliminate an instance of switchception. NFC intended.
...
llvm-svn: 273161
2016-06-20 15:37:15 +00:00
Cong Liu
1c28b6d733
Revert "[LoopIdiom] Don't remove dead operands manually"
...
This reverts commit r273132.
Breaks multiple test under /llvm/test:Transforms (e.g.
llvm/test:Transforms/LoopIdiom/basic.ll.test) under asan.
llvm-svn: 273160
2016-06-20 15:22:15 +00:00
Vassil Vassilev
cc218abe34
[modules] Allow emission of update records for predefined __va_list_tag.
...
Handles the cases where old __va_list_tag is coming from a module and the new
is not, needing an update record.
Fixes https://llvm.org/bugs/show_bug.cgi?id=27890
Patch by Cristina Cristescu, Richard Smith and me.
llvm-svn: 273159
2016-06-20 15:10:40 +00:00
Paul Robinson
6d5dc402a1
Make test less sensitive to the resource directory.
...
Same tactic as linux-header-search.cpp and android-ndk-standalone.cpp.
llvm-svn: 273158
2016-06-20 14:33:49 +00:00
Rafael Espindola
ffe2e06f71
Don't go on an infinite loop on a missing ";".
...
Thanks to Will Dietz for reporting the issue.
llvm-svn: 273157
2016-06-20 14:02:22 +00:00
George Rimar
35728c3465
[ELF] - Lowercase the error messages text. NFC.
...
llvm-svn: 273156
2016-06-20 13:48:16 +00:00
George Rimar
d5d544757e
[ELF] - Removed excessive reference from pointer arguments. NFC.
...
llvm-svn: 273155
2016-06-20 13:30:37 +00:00
George Rimar
086fcae95e
[ELF] - Forgot to address these two minors before commit r273152. NFC.
...
llvm-svn: 273154
2016-06-20 13:22:54 +00:00
Simon Pilgrim
0a81b13f31
[X86][F16C] Added half <-> double conversion tests
...
llvm-svn: 273153
2016-06-20 12:51:55 +00:00
George Rimar
d3566309eb
[ELF] - Recommit r273143("[ELF] - Basic versioned symbols support implemented.")
...
With fix:
-soname flag was not set in testcase. Hash calculated for base def was different on local
and bot machines because filename fos used for calculating.
Initial commit message:
Patch implements basic support of versioned symbols.
There is no wildcards patterns matching except local: *;
There is no support for hierarchies.
There is no support for symbols overrides (@ vs @@ not handled).
This patch allows programs that using simple scripts to link and run.
Differential revision: http://reviews.llvm.org/D21018
llvm-svn: 273152
2016-06-20 11:55:12 +00:00
Simon Atanasyan
7b8481bf95
[ELF][MIPS] Fix predicate used for sorting MIPS dynamic symbol tables
...
Now it conforms requirement for std::stable_sort predicates. That
resolves build-bot failures on Windows hosts.
llvm-svn: 273151
2016-06-20 11:37:56 +00:00
Cong Liu
3688c4ca78
Add -fsyntax-only to Driver/opencl.cl test.
...
llvm-svn: 273150
2016-06-20 11:25:26 +00:00
Patrik Hagglund
4e0bd84b35
Fix formatting of r273144. NFC.
...
llvm-svn: 273149
2016-06-20 11:19:58 +00:00
Pankaj Gode
0aab2e398a
[AARCH64] Add support for Broadcom Vulcan
...
Adding core tuning support for new Broadcom Vulcan core (ARMv8.1A).
Differential Revision: http://reviews.llvm.org/D21500
llvm-svn: 273148
2016-06-20 11:13:31 +00:00
Andrey Turetskiy
e8e1ffef11
[X86] Add -mno-iamcu option.
...
Add -mno-iamcu option to:
1) Countervail -miamcu option easily
2) Be compatible with GCC which supports this option
Differential Revision: http://reviews.llvm.org/D21469
llvm-svn: 273147
2016-06-20 10:31:39 +00:00
George Rimar
d03f97211a
Revert r273143 "[ELF] - Basic versioned symbols support implemented."
...
It broke buildbot:
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast
llvm-svn: 273146
2016-06-20 10:29:53 +00:00
Patrik Hagglund
96f13afcbc
Avoid output indeterminism between GCC and Clang builds.
...
Remove dependency of the evalution order of function arguments, which
is unspecified.
Patch by David Stenberg.
llvm-svn: 273145
2016-06-20 10:19:04 +00:00
Patrik Hagglund
a83706e354
Avoid output indeterminism between GCC and Clang builds.
...
Remove dependency of the evalution order of function arguments, which
is unspecified.
The following test previously failed when built with GCC (but succeded
when built with Clang):
; RUN: opt -sroa -S < %s | FileCheck %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%A = type {i16}
@a = global %A* null
@b = global i16 0
; CHECK-LABEL: @f1(
; CHECK: alloca %A
; CHECK-NEXT: extractvalue %A
; CHECK-NEXT: getelementptr inbounds %A
define void @f1 (%A %a) {
%1 = alloca %A
store %A %a, %A* %1
%2 = load i16, i16* @b
%3 = icmp ne i16 %2, 0
br i1 %3, label %bb1, label %bb2
bb1:
store %A* %1, %A** @a
br label %bb2
bb2:
ret void
}
Patch by David Stenberg.
Differential Revision: http://reviews.llvm.org/D21226
llvm-svn: 273144
2016-06-20 10:19:00 +00:00
George Rimar
c31fee2212
[ELF] - Basic versioned symbols support implemented.
...
Patch implements basic support of versioned symbols.
There is no wildcards patterns matching except local: *;
There is no support for hierarchies.
There is no support for symbols overrides (@ vs @@ not handled).
This patch allows programs that using simple scripts to link and run.
Differential revision: http://reviews.llvm.org/D21018
llvm-svn: 273143
2016-06-20 10:16:33 +00:00
George Rimar
06e930d37a
Fixed compilation error under MSVS 2015 (looks like compiler bug). NFC.
...
llvm-svn: 273142
2016-06-20 10:01:50 +00:00
Patrik Hagglund
7205215591
Fix for PR27940
...
After a store has been eliminated, when making sure that the
instruction iterator points to a valid instruction, dbg intrinsics are
now ignored as a new instruction.
Patch by Henric Karlsson.
Reviewed by Daniel Berlin.
Differential Revision: http://reviews.llvm.org/D21076
llvm-svn: 273141
2016-06-20 09:10:10 +00:00
Rui Ueyama
e178c2f7c6
Fix comment.
...
llvm-svn: 273140
2016-06-20 08:34:50 +00:00
Rui Ueyama
1abbb31bd4
[codeview] Add an extra check for TPI hash values.
...
This patch adds a function that corresponds to `fUDTAnon`
and use that to compute TPI hash values as the reference does.
llvm-svn: 273139
2016-06-20 07:31:29 +00:00
Igor Breger
e59165ca63
[AVX512] [AVX512/AVX][Intrinsics] Fix Variable Bit Shift Right Arithmetic intrinsic lowering.
...
Differential Revision: http://reviews.llvm.org/D20897
llvm-svn: 273138
2016-06-20 07:05:43 +00:00
Craig Topper
4296c025c0
[X86] Pass the SDLoc and Mask ArrayRef down from lowerVectorShuffle through all of the other routines instead of recreating them in the handlers for each type. NFC
...
llvm-svn: 273137
2016-06-20 04:00:55 +00:00
Craig Topper
ddf5d2a4a5
[X86] Use existing ArrayRef variable instead of calling SVOp->getMask() repeatedly. Remove nearby else after return as well. NFC
...
llvm-svn: 273136
2016-06-20 04:00:53 +00:00
Craig Topper
01ef65dd79
[X86] Avoid making a copy of a shuffle mask until we're sure we really need to. And just use a SmallVector to do the copy because its easy.
...
llvm-svn: 273135
2016-06-20 04:00:50 +00:00
Rui Ueyama
440138c4c8
[COFF] Add /section command line flag.
...
llvm-svn: 273134
2016-06-20 03:39:39 +00:00
Eli Friedman
f3b71581dd
Fix dynamically linked debug builds.
...
On the surface, this might not look like it does anything... but
actually it brings in the declaration "extern template class
AnalysisManager<Loop>;", which suppresses the instantiation of the
constructor, which avoids the funny interaction between "extern
template" and -fvisibility-inlines-hidden.
llvm-svn: 273133
2016-06-20 02:48:11 +00:00
David Majnemer
a705843f23
[LoopIdiom] Don't remove dead operands manually
...
Removing dead instructions requires remembering which operands have
already been removed. RecursivelyDeleteTriviallyDeadInstructions has
this logic, don't partially reimplement it in LoopIdiomRecognize.
This fixes PR28196.
llvm-svn: 273132
2016-06-20 02:33:29 +00:00
NAKAMURA Takumi
fd92154b20
Reformat blank lines.
...
llvm-svn: 273131
2016-06-20 01:05:15 +00:00
NAKAMURA Takumi
ae7c97d39d
Trailing whitespace.
...
llvm-svn: 273130
2016-06-20 00:49:20 +00:00