| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 275356
|
| |
|
|
|
|
|
| |
While some code paths in MIRParserImpl::parse() already returned nullptr
in case of error one of the important ones did not.
llvm-svn: 275355
|
| |
|
|
|
|
|
|
|
|
| |
This adds Clang-specific DWARF constants for nullability and ObjC
class properties that are already generated by clang. This patch adds
dwarfdump support and a more comprehensive testcase.
<rdar://problem/27335745>
llvm-svn: 275354
|
| |
|
|
|
|
| |
Should fix the bots broken by r275316.
llvm-svn: 275353
|
| |
|
|
|
|
|
|
|
| |
We can constant fold a masked load if the operands are appropriately
constant.
Differential Revision: http://reviews.llvm.org/D22324
llvm-svn: 275352
|
| |
|
|
| |
llvm-svn: 275351
|
| |
|
|
|
|
|
|
|
|
| |
'if' and 'switch':
if (stmt; condition) { ... }
Patch by Anton Bikineev! Some minor formatting and comment tweets by me.
llvm-svn: 275350
|
| |
|
|
|
|
|
|
| |
macro.
This silences a warning about an extra semicolon on gcc.
llvm-svn: 275349
|
| |
|
|
|
|
|
|
|
|
|
|
| |
TargetMachine.cpp
Avoid exposing a cl::opt in a public header and instead promote this
option in the API.
Alternatively, we could land the cl::opt in CommandFlags.h so that
it is available to every tool, but we would still have to find an
option for clang.
llvm-svn: 275348
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
enabled.
IPRA try to optimize caller saved register by propagating register
usage information from callee to caller so it is beneficial to have
caller saved registers compare to callee saved registers when IPRA
is enabled. Please find more detailed explanation here
https://groups.google.com/d/msg/llvm-dev/XRzGhJ9wtZg/tjAJqb0eEgAJ.
This change makes local function do not have any callee preserved
register when IPRA is enabled. A simple test case is also added to
verify this change.
Patch by Vivek Pandya <vivekvpandya@gmail.com>
Differential Revision: http://reviews.llvm.org/D21561
llvm-svn: 275347
|
| |
|
|
| |
llvm-svn: 275346
|
| |
|
|
|
|
|
|
|
| |
offsets
Treat loads which clip before the start of a global initializer the same
way we treat clipping beyond the end of the initializer: use zeros.
llvm-svn: 275345
|
| |
|
|
|
|
|
| |
This transform doesn't require any new instructions, it can safely live
in InstSimplify.
llvm-svn: 275344
|
| |
|
|
| |
llvm-svn: 275343
|
| |
|
|
|
|
|
|
| |
Code cleanup: Move references to SlotMapping and SourceMgr into the
PerFunctionMIParsingState to avoid unnecessary passing around in
parameters.
llvm-svn: 275342
|
| |
|
|
|
|
|
|
|
| |
If a masked loads is not added to the chain, it should not reset the chain's
root.
This fixes the remaining part of PR28515.
llvm-svn: 275340
|
| |
|
|
|
|
|
|
|
| |
The code was pretty much copy-pasted between SCCP and IPSCCP. The situation
became clearly worse after I introduced the support for folding structs in
SCCP. This commit is NFC as we currently (still) skip the replacement
step in IPSCCP, but I'll change this soon.
llvm-svn: 275339
|
| |
|
|
| |
llvm-svn: 275338
|
| |
|
|
| |
llvm-svn: 275337
|
| |
|
|
|
|
| |
<rdar://problem/24599697>
llvm-svn: 275336
|
| |
|
|
| |
llvm-svn: 275335
|
| |
|
|
| |
llvm-svn: 275334
|
| |
|
|
| |
llvm-svn: 275333
|
| |
|
|
|
|
|
| |
Use range-based for loops and llvm::any_of instead of explicit
iterators.
llvm-svn: 275332
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously it would say we had an invariant load if any of the memory
operands were invariant. But the load should be invariant only if *all*
the memory operands are invariant.
No testcase because this has proven to be very difficult to tickle in
practice. As just one example, ARM's ldrd instruction, which loads 64
bits into two 32-bit regs, is theoretically affected by this. But when
it's produced, it loses its memoperands' invariance bits!
Reviewers: jfb
Subscribers: llvm-commits, aemerson
Differential Revision: http://reviews.llvm.org/D22318
llvm-svn: 275331
|
| |
|
|
|
|
|
|
|
|
|
| |
-fxray-instrument: enables XRay annotation of IR
-fxray-instruction-threshold: configures the threshold for function size (looking at IR instructions), and allow LLVM to decide whether to add the nop sleds later on in the process.
Also implements the related xray_always_instrument and xray_never_instrument function attributes.
Patch by Dean Michael Berris.
llvm-svn: 275330
|
| |
|
|
|
|
|
|
|
|
| |
Code cleanup: The PerFunctionMIParsingState is per function, moving a
reference into PFS we can avoid passing around the MachineFunction in an
extra parameter most of the time.
Also change most signatures to consistently pass PFS reference first.
llvm-svn: 275329
|
| |
|
|
| |
llvm-svn: 275328
|
| |
|
|
| |
llvm-svn: 275327
|
| |
|
|
|
|
|
| |
In fact, don't even pass this to the ctor since we can get it from the
module.
llvm-svn: 275326
|
| |
|
|
| |
llvm-svn: 275325
|
| |
|
|
| |
llvm-svn: 275324
|
| |
|
|
|
|
|
|
| |
This patch is to remove duplicate code in ActOnOpenMPRegionStart. (NFC)
Differential Revision: http://reviews.llvm.org/D22177
llvm-svn: 275323
|
| |
|
|
| |
llvm-svn: 275322
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's safe to print out source coverage views using multiple threads when
using the -output-dir mode of the `llvm-cov show` sub-command.
While testing this on my development machine, I observed that the speed
up is roughly linear with the number of available cores. Avg. time for
`llvm-cov show ./llvm-as -show-line-counts-or-regions`:
1 thread: 7.79s user 0.33s system 98% cpu 8.228 total
4 threads: 7.82s user 0.34s system 283% cpu 2.880 total
llvm-svn: 275321
|
| |
|
|
|
|
|
|
|
| |
This happens to make X86CallFrameOptimization in -O0 / FastISel builds as well,
but it's not clear if the pass should run in that setup.
http://reviews.llvm.org/D22314
llvm-svn: 275320
|
| |
|
|
|
|
| |
Follow on to r275312.
llvm-svn: 275319
|
| |
|
|
|
|
|
|
|
|
| |
Also fixes strict-aliasing option to only be allowed when OpenCL Version 1.0. Added testcase in test/Frontend/opencl-blocks.cl.
Patch by Aaron En Ye Shi.
Differential Revision: http://reviews.llvm.org/D22170
llvm-svn: 275318
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
LSV used to abort vectorizing a chain for interleaved load/store accesses that alias.
Allow a valid prefix of the chain to be vectorized, mark just the prefix and retry vectorizing the remaining chain.
Reviewers: llvm-commits, jlebar, arsenm
Subscribers: mzolotukhin
Differential Revision: http://reviews.llvm.org/D22119
llvm-svn: 275317
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See http://reviews.llvm.org/D22079
Changes the Archive::child_begin and Archive::children to require a reference
to an Error. If iterator increment fails (because the archive header is
damaged) the iterator will be set to 'end()', and the error stored in the
given Error&. The Error value should be checked by the user immediately after
the loop. E.g.:
Error Err;
for (auto &C : A->children(Err)) {
// Do something with archive child C.
}
// Check the error immediately after the loop.
if (Err)
return Err;
Failure to check the Error will result in an abort() when the Error goes out of
scope (as guaranteed by the Error class).
llvm-svn: 275316
|
| |
|
|
|
|
|
|
| |
This patch is to add two additional tests for testing 'distribute parallel for simd' pragma with disallowed clauses and loops.
Differential Revision: http://reviews.llvm.org/D22169
llvm-svn: 275315
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Currently the MIR framework prints all its outputs (errors and actual
representation) on stderr.
This patch fixes that by printing the regular output in the output
specified with -o.
Differential Revision: http://reviews.llvm.org/D22251
llvm-svn: 275314
|
| |
|
|
|
|
|
|
|
|
| |
that we set diagnostic engine state appropriately.
Otherwise there can be a crash with CFG analysis warnings doing work on invalid AST.
Fixes crash of rdar://26224134
llvm-svn: 275313
|
| |
|
|
|
|
|
|
| |
As per Richard Smith, this should help avoid a modules bug exposed
by my r275216 commit:
http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/17560
llvm-svn: 275312
|
| |
|
|
| |
llvm-svn: 275310
|
| |
|
|
| |
llvm-svn: 275309
|
| |
|
|
| |
llvm-svn: 275308
|
| |
|
|
| |
llvm-svn: 275307
|
| |
|
|
|
|
|
|
| |
This patch is to add two additional tests for testing 'distribute simd' pragma with disallowed clauses and loops.
Differential Revision: http://reviews.llvm.org/D22176
llvm-svn: 275306
|
| |
|
|
| |
llvm-svn: 275305
|