| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 266443
|
| |
|
|
|
|
|
|
|
|
| |
This is almost identical to:
http://reviews.llvm.org/rL264527
This doesn't solve PR27344; it just allows the profile weights to survive.
To solve the bug, we need to use the profile weights in the backend.
llvm-svn: 266442
|
| |
|
|
|
|
| |
LLVMContext and ExecutionEngine. Investigating.
llvm-svn: 266441
|
| |
|
|
|
|
|
| |
It shows that we correctly look at liveness based on the final symbol
resolution.
llvm-svn: 266440
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Without MMOs, the callee-save load/store instructions were treated as
volatile by the MI post-RA scheduler and AArch64LoadStoreOptimizer.
Reviewers: t.p.northover, mcrosier
Subscribers: aemerson, rengolin, mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D17661
llvm-svn: 266439
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[PPC] Previously when casting generic loads to LXV2DX/ST instructions we
would leave the original load return type in place allowing for an
assertion failure when we merge two equivalent LXV2DX nodes with
different types.
This fixes PR27350.
Reviewers: nemanjai
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D19133
llvm-svn: 266438
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Perform store clustering just like load clustering. This change add
StoreClusterMutation in machine-scheduler. To control StoreClusterMutation,
added enableClusterStores() in TargetInstrInfo.h. This is enabled only on
AArch64 for now.
This change also add support for unscaled stores which were not handled in
getMemOpBaseRegImmOfs().
llvm-svn: 266437
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The root of the problem was that findMainViewFileID(File, Function)
could return some ID for any given file, even though that file
was not the main file for that function.
This patch ensures that the result of this function is conformed
with the result of findMainViewFileID(Function).
Differential Revision: http://reviews.llvm.org/D18787
llvm-svn: 266436
|
| |
|
|
| |
llvm-svn: 266435
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18758
llvm-svn: 266434
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In the added test-case, the atomic instruction feeds into a non-machine
CopyToReg node which hasn't been selected yet, so guard against
non-machine opcodes here.
Reviewers: arsenm, tstellarAMD
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D19043
llvm-svn: 266433
|
| |
|
|
|
|
| |
This makes it impossible to forget to call repl on the SymbolBody.
llvm-svn: 266432
|
| |
|
|
| |
llvm-svn: 266431
|
| |
|
|
|
|
|
|
| |
This function has been removed from LLVM.
Patch By: Laurent Carlier
llvm-svn: 266430
|
| |
|
|
| |
llvm-svn: 266429
|
| |
|
|
| |
llvm-svn: 266428
|
| |
|
|
| |
llvm-svn: 266427
|
| |
|
|
|
|
|
|
| |
Some tests didn't merge stderr with stdout.
Patch by Maxim Kuvyrkov.
llvm-svn: 266426
|
| |
|
|
| |
llvm-svn: 266425
|
| |
|
|
|
|
|
| |
* A hidden undefined is not preemptable.
* It is always zero, so we don't need a dynamic reloc for it.
llvm-svn: 266424
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Doing a pthread_detach while the thread is exiting can cause crashes or other mischief, so we
make sure the thread stays around long enough. The performance impact of the added
synchronization should be minimal, as the parent thread is already holding a mutex, so I am just
making sure it holds it for a little while longer. It's possible the new thread will block on
this mutex immediately after startup, but it should be unblocked really quickly and some
blocking is unavoidable if we actually want to have this synchronization.
Reviewers: tberghammer
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D19153
llvm-svn: 266423
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Recommit modified version of r266311 including build bot regression fix.
This differs from the original r266311 by:
- Fixing Scalar::Promote to correctly zero- or sign-extend value depending
on signedness of the *source* type, not the target type.
- Omitting a few stand-alone fixes that were already committed separately.
llvm-svn: 266422
|
| |
|
|
| |
llvm-svn: 266421
|
| |
|
|
|
|
|
|
| |
This is needed for platforms where the default "char" type is unsigned.
Originally committed as part of (now reverted) r266311.
llvm-svn: 266420
|
| |
|
|
|
|
|
|
| |
Obvious fix for incorrect result types of the operation.
Originally committed as part of (now reverted) r266311.
llvm-svn: 266419
|
| |
|
|
|
|
|
|
| |
Obvious fix for incorrect use of GetU64 offset pointer.
Originally committed as part of (now reverted) r266311.
llvm-svn: 266418
|
| |
|
|
|
|
|
|
| |
This routine contained a stray "return false;" making part of the code
never executed. Also, the stack offset where to find on-stack arguments
was incorrect.
llvm-svn: 266417
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The original breakpoint location test was failing for linux, because the compilers here tend to
merge the full-object and subobject destructors even at -O0 (as a result, we are getting only 2
breakpoint locations, and not 4 as the test expected. The fixup in r266164 substantially weakened
the test, as it now did not check whether both kinds of destructors were being found.
Because of these contraints, I have altered the logic of the test. It sets the
breakpoint by name, and then independently verifies that the breakpoint is set on the correct
demangled symbol name (which is not very meaningful since both kinds of destructors demangle to
the same name) *and* the correct symbol address (which is obtained by looking up the mangled
symbol name).
Reviewers: clayborg
Subscribers: ovyalov, zturner, lldb-commits
Differential Revision: http://reviews.llvm.org/D19052
llvm-svn: 266416
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch implements __unaligned as a type qualifier; before that, it was
modeled as an attribute. Proper mangling of __unaligned is implemented as well.
Some OpenCL code/tests are tangenially affected, as they relied on existing
number and sizes of type qualifiers.
Differential Revision: http://reviews.llvm.org/D18596
llvm-svn: 266415
|
| |
|
|
| |
llvm-svn: 266414
|
| |
|
|
|
|
| |
to promoted and set the type in one call. Use it so save code in X86.
llvm-svn: 266413
|
| |
|
|
|
|
| |
explicitly.
llvm-svn: 266412
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Removed unwanted --check-prefix=CHECK from the following unit tests:
DeadCodeElimination/dead_iteration_elimination.ll
Isl/CodeGen/simple_vec_cast.ll
Patch by: Mandeep Singh Grang (mgrang)
Reviewers: jdoerfert, zinob, spop, grosser
Projects: #polly
Differential Revision: http://reviews.llvm.org/D19143
llvm-svn: 266411
|
| |
|
|
|
|
| |
setOperationAction that only varied in Legal/Custom. Use the ternary operator on that argument instead. NFC
llvm-svn: 266410
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
uses-allocator constructors
Summary:
A default uses-allocator constructor has been added since that overload was previously provided by the extended constructor.
Since Clang does implicit conversion checking after substitution this constructor has to deduce the allocator_arg_t parameter so that it can prevent the evaluation of "is_default_constructible" if the first argument doesn't match. See http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1391 for more information.
This patch fixes PR24779 (https://llvm.org/bugs/show_bug.cgi?id=24779)
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D19006
llvm-svn: 266409
|
| |
|
|
|
|
| |
This reverts commits r266390 and r266396 as they broke some bots.
llvm-svn: 266408
|
| |
|
|
| |
llvm-svn: 266407
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Calls on NVPTX are unusually expensive (for one thing, lots of state
needs to be saved to memory, which is slow), so make the inlininer much
more aggressive.
Reviewers: chandlerc
Subscribers: jholewinski, llvm-commits, tra
Differential Revision: http://reviews.llvm.org/D18561
llvm-svn: 266406
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
InlineCost's threshold is multiplied by this value. This lets us adjust
the inlining threshold up or down on a per-target basis. For example,
we might want to increase the threshold on targets where calls are
unusually expensive.
Reviewers: chandlerc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18560
llvm-svn: 266405
|
| |
|
|
|
|
|
|
|
|
|
| |
It's unsafe to duplicate blocks that contain convergent instructions
during ifcnv. See the patch for details.
Reviewers: hfinkel
Differential Revision: http://reviews.llvm.org/D17518
llvm-svn: 266404
|
| |
|
|
|
|
| |
target.
llvm-svn: 266403
|
| |
|
|
|
|
|
|
|
| |
There might be flags passed to the linker (e.g. /libpath), causing it
to search in paths the Clang driver doesn't know about.
PR27234
llvm-svn: 266402
|
| |
|
|
| |
llvm-svn: 266401
|
| |
|
|
| |
llvm-svn: 266400
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This IR pass is helpful for GPUs, and other targets with divergent
branches. It's a nop on targets without divergent branches.
Reviewers: chandlerc
Subscribers: llvm-commits, jingyue, rnk, joker.eph, tra
Differential Revision: http://reviews.llvm.org/D18626
llvm-svn: 266399
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unless TTI::hasBranchDivergence() is true.
Summary:
This lets us add this pass to the IR pass manager unconditionally; it
will simply not do anything on targets without branch divergence.
Reviewers: tra
Subscribers: llvm-commits, jingyue, rnk, chandlerc
Differential Revision: http://reviews.llvm.org/D18625
llvm-svn: 266398
|
| |
|
|
|
|
| |
<rdar://problem/25739133>
llvm-svn: 266397
|
| |
|
|
| |
llvm-svn: 266396
|
| |
|
|
|
|
|
|
|
|
| |
For example, "cl.exe a.c /linkfoo bar" is a valid invocation and
forwards "foo" and "bar" to link.exe. This makes clang-cl handle
that kind of invocation.
Depends on LLVM r266394.
llvm-svn: 266395
|
| |
|
|
|
|
| |
args
llvm-svn: 266394
|