| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
There's no test for this transform in any backend. Discovered
while debugging fast-math-flag propagation in the DAG (r244053).
llvm-svn: 244373
|
| |
|
|
|
|
|
|
|
| |
The pass adds new kernel arguments for image attributes, and
resolves calls to dummy attribute and resource id getter functions.
Patch by: Zoltan Gilian
llvm-svn: 244372
|
| |
|
|
|
|
| |
of DebugInfo tests.
llvm-svn: 244371
|
| |
|
|
|
|
|
|
|
| |
This is unused after filtering checks was moved to the clients.
As a result, we can just return the number of the checks in the
precomputed set.
llvm-svn: 244369
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the full set of checks that clients can further filter. IOW,
it's client-agnostic. This makes LAA complete in the sense that it now
provides the two main results of its analysis precomputed:
1. memory dependences via getDepChecker().getInsterestingDependences()
2. run-time checks via getRuntimePointerCheck().getChecks()
However, as a consequence we now compute this information pro-actively.
Thus if the client decides to skip the loop based on the dependences
we've computed the checks unnecessarily. In order to see whether this
was a significant overhead I checked compile time on SPEC2k6 LTO bitcode
files. The change was in the noise.
The checks are generated in canCheckPtrAtRT, at the same place where we
used to call groupChecks to merge checks.
llvm-svn: 244368
|
| |
|
|
|
|
|
|
|
| |
At this point the given Opc must be valid, otherwise we should
not look for a matching pair to form paired load or store.
Thanks to Chad to point out this piece of code!
llvm-svn: 244366
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
With InstAlias, we don't need to print the _e32 portion of the mnemonic
when we print the $dst operand. This change makes it possible to
include vcc in the asm string when we switch VOPC over to having
implicit vcc defs.
Reviewers: arsenm
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11813
llvm-svn: 244362
|
| |
|
|
| |
llvm-svn: 244361
|
| |
|
|
| |
llvm-svn: 244360
|
| |
|
|
| |
llvm-svn: 244357
|
| |
|
|
| |
llvm-svn: 244356
|
| |
|
|
|
|
|
|
| |
This commit extract the code that parses the 64-bit offset from the method
'parseOperandsOffset' to a new method 'parseOffset' so that we can reuse it
when parsing the offset for the machine memory operands.
llvm-svn: 244355
|
| |
|
|
|
|
|
| |
Since r243294 these are selected to SMRD and
moved later if required.
llvm-svn: 244354
|
| |
|
|
|
|
| |
Yet another step in not having it scan every section.
llvm-svn: 244353
|
| |
|
|
| |
llvm-svn: 244352
|
| |
|
|
|
|
| |
Another step in making ELFFile's constructor not iterate over all sections.
llvm-svn: 244351
|
| |
|
|
|
|
|
| |
This is now handled in the client. No need for LAA to provide this
variant.
llvm-svn: 244349
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
SwitchInst to BranchInst
Summary: llvm::ConstantFoldTerminator function can convert SwitchInst with single case (and default) to a conditional BranchInst. This patch adds support to preserve make.implicit metadata on this conversion.
Reviewers: sanjoy, weimingz, chenli
Subscribers: mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D11841
llvm-svn: 244348
|
| |
|
|
| |
llvm-svn: 244347
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the sse2/avx2 vector shift by constant instcombine call to correctly deal with the fact that the shift amount is formed from the entire lower 64-bit and not just the lowest element as it currently assumes.
e.g.
%1 = tail call <4 x i32> @llvm.x86.sse2.psrl.d(<4 x i32> %v, <4 x i32> <i32 15, i32 15, i32 15, i32 15>)
In this case, (V)PSRLD doesn't perform a lshr by 15 but in fact attempts to shift by 64424509455 ((15 << 32) | 15) - giving a zero result.
In addition, this review also recognizes shift-by-zero from a ConstantAggregateZero type (PR23821).
Differential Revision: http://reviews.llvm.org/D11760
llvm-svn: 244341
|
| |
|
|
|
|
| |
Use a parent class to avoid reduncant code when specializing GraphTraits for T and const T.
llvm-svn: 244340
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PrettyStackTraceHead is a LLVM_THREAD_LOCAL, which means it's just a global
in LLVM_ENABLE_THREADS=NO builds. If a CrashRecoveryContext is used with
code that uses PrettyStackEntries, and a crash happens, PrettyStackTraceHead is
currently not reset to its pre-crash value. These functions make it possible
to add a cleanup to such code that does this.
(Not reseting the value then causes the assert in ~PrettyStackTraceEntry() to
fire if the code outside of the CrashRecoveryContext also uses
PrettyStackEntries -- for example, clang when building a module.)
Part of PR11974.
llvm-svn: 244338
|
| |
|
|
| |
llvm-svn: 244337
|
| |
|
|
| |
llvm-svn: 244335
|
| |
|
|
| |
llvm-svn: 244334
|
| |
|
|
|
|
| |
It is already a convenient table.
llvm-svn: 244333
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: We were using the SI encoding for VI.
Reviewers: arsenm
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11812
llvm-svn: 244332
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11811
llvm-svn: 244331
|
| |
|
|
|
|
|
|
| |
build so check and turn on -Wmissing-field-initializers. While there,
reorganize the conditional warning code based on compiler to be a bit
more obvious and inside a switch statement.
llvm-svn: 244330
|
| |
|
|
| |
llvm-svn: 244328
|
| |
|
|
|
|
| |
Hope this fixes the s390 and aarch64 bots.
llvm-svn: 244327
|
| |
|
|
| |
llvm-svn: 244323
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11810
llvm-svn: 244322
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11809
llvm-svn: 244321
|
| |
|
|
|
|
|
|
|
| |
In tree they are only used by llvm-readobj, but it is also used by
https://github.com/mono/CppSharp.
While at it, add some missing error checking.
llvm-svn: 244320
|
| |
|
|
|
|
|
|
| |
llvm-dsymutil has to be able to process debug info produced by other compilers
which use different line table settings. The testcase wasn't generated by
another compiler, but by a modified clang.
llvm-svn: 244319
|
| |
|
|
|
|
|
|
|
| |
NFC patch for current users, but llvm-dsymutil will use the new
functionality to adapt to the input linetable.
Based on a patch by Adrian Prantl.
llvm-svn: 244318
|
| |
|
|
| |
llvm-svn: 244315
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Port the ReconstructShuffle function from AArch64 to ARM
to handle mismatched incoming types in the BUILD_VECTOR
node.
This fixes an outstanding FIXME in the ReconstructShuffle
code.
Reviewers: t.p.northover, rengolin
Subscribers: aemerson, llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D11720
llvm-svn: 244314
|
| |
|
|
|
|
|
| |
This reverts r242520, as it caused pr24379. Also removes part of the test added
by r243874 that checks the size of alias symbols.
llvm-svn: 244313
|
| |
|
|
| |
llvm-svn: 244311
|
| |
|
|
|
|
| |
[-Wdocumentation]
llvm-svn: 244309
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: WebAssembly's tablegen instructions have the names WebAssembly expects, but by LLVM convention they're uppercase and suffixed with their type after an underscore. Leave the C++ code that way, but print outt he names WebAssembly expects (lowercase, no type). We could teach tablegen to do this later, maybe by using `!cast<string>(node)` in the .td files.
Reviewers: sunfish
Subscribers: jfb, llvm-commits
Differential Revision: http://reviews.llvm.org/D11776
llvm-svn: 244305
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11458
llvm-svn: 244303
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As a follow-up to r244181, resolve uniquing cycles underneath distinct
nodes on the fly. This prevents uniquing cycles in early operands from
affecting later operands. It also removes an iteration through distinct
nodes' operands.
No real functional change here, just more prompt resolution of temporary
nodes.
llvm-svn: 244302
|
| |
|
|
|
|
|
| |
Pull out a helper for resolving uniquing cycles of `Metadata` to remove
the boiler-plate of downcasting to `MDNode`.
llvm-svn: 244301
|
| |
|
|
| |
llvm-svn: 244300
|
| |
|
|
|
|
|
|
| |
The block address machine operands can reference IR blocks in other functions.
This commit fixes a bug where the references to unnamed IR blocks in other
functions weren't serialized correctly.
llvm-svn: 244299
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit removes the 'StringOffset' and 'HasStringValue' fields from the
MIToken struct and simplifies the 'stringValue' method which now returns
the new 'StringValue' field.
This commit also adopts a different way of initializing the lexed tokens -
instead of constructing a new MIToken instance, the lexer resets the old token
using the new 'reset' method and sets its attributes using the new
'setStringValue', 'setOwnedStringValue', and 'setIntegerValue' methods.
Reviewers: Sean Silva
Differential Revision: http://reviews.llvm.org/D11792
llvm-svn: 244295
|
| |
|
|
|
|
| |
Patch by Debora Setton Sanches! <setton.debora@gmail.com>
llvm-svn: 244294
|