| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This was not passing the full instruction with metadata
to the alias query.
llvm-svn: 274318
|
|
|
|
| |
llvm-svn: 274317
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dionne.
This patch adds a __nth_element builtin that allows fetching the n-th type of a
parameter pack with very little compile-time overhead. The patch was inspired by
r252036 and r252115 by David Majnemer, which add a similar __make_integer_seq
builtin for efficiently creating a std::integer_sequence.
Reviewed as D15421. http://reviews.llvm.org/D15421
llvm-svn: 274316
|
|
|
|
|
|
| |
Remove another unnecessary iterator to pointer conversion.
llvm-svn: 274315
|
|
|
|
|
|
|
|
| |
single underscore.
rdar://24677150
llvm-svn: 274314
|
|
|
|
|
|
| |
This fixes the -fmodules build.
llvm-svn: 274313
|
|
|
|
| |
llvm-svn: 274312
|
|
|
|
|
|
|
|
| |
Convert a loop to a range-based for, using MachineInstr& instead of
MachineInstr* and removing an implicit conversion from iterator to
pointer.
llvm-svn: 274311
|
|
|
|
|
|
|
|
|
| |
Use MachineInstr& over MachineInstr* to avoid implicit iterator to
pointer conversions. MachineInstr*-as-nullptr was being used as a flag
for whether the for loop terminated normally; I added an explicit `bool`
instead.
llvm-svn: 274310
|
|
|
|
| |
llvm-svn: 274309
|
|
|
|
| |
llvm-svn: 274308
|
|
|
|
|
|
|
|
|
|
|
|
| |
integer.
Fixes issues on some architectures where we use arithmetic ops to build
vectors, which can cause bad things to happen for loads/stores of mixed
types.
Patch by Fiona Glaser
llvm-svn: 274307
|
|
|
|
| |
llvm-svn: 274306
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pass hoists duplicated computations in the program. The primary goal of
gvn-hoist is to reduce the size of functions before inline heuristics to reduce
the total cost of function inlining.
Pass written by Sebastian Pop, Aditya Kumar, Xiaoyu Hu, and Brian Rzycki.
Important algorithmic contributions by Daniel Berlin under the form of reviews.
Differential Revision: http://reviews.llvm.org/D19338
llvm-svn: 274305
|
|
|
|
|
|
|
|
|
|
| |
TargetSubtargetInfo::overrideSchedPolicy takes two MachineInstr*
arguments (begin and end) that invite implicit conversions from
MachineInstrBundleIterator. One option would be to change their type to
an iterator, but since they don't seem to have been used since the API
was added in 2010, I'm deleting the dead code.
llvm-svn: 274304
|
|
|
|
|
|
|
| |
Use MachineInstr& instead of MachineInstr* in MachineSinker to help
avoid implicit conversions from iterator to pointer.
llvm-svn: 274303
|
|
|
|
| |
llvm-svn: 274302
|
|
|
|
|
|
|
|
| |
Push MachineInstr& through helper APIs for consistency. This doesn't
remove any more implicit conversions, but it's a nice cleanup after
r274300.
llvm-svn: 274301
|
|
|
|
|
|
| |
This avoids an implicit conversion from iterator to pointer.
llvm-svn: 274300
|
|
|
|
|
|
| |
Also add test I forgot to add to r274296.
llvm-svn: 274299
|
|
|
|
|
|
|
| |
Avoid a number of implicit conversions from iterator to pointer by using
range-based for and MachineInstr&.
llvm-svn: 274298
|
|
|
|
|
|
|
| |
Avoid an implicit iterator to pointer conversion in
LiveVariables::runOnBlock by switching to a range-based for.
llvm-svn: 274297
|
|
|
|
| |
llvm-svn: 274296
|
|
|
|
|
|
| |
Avoid another few implicit conversions from iterator to pointer.
llvm-svn: 274295
|
|
|
|
|
|
| |
Avoid another implicit conversion from iterator to pointer.
llvm-svn: 274294
|
|
|
|
|
|
|
| |
This was contributed by Apple, and I've been working on
minimal cleanups and generalizing it.
llvm-svn: 274293
|
|
|
|
|
|
|
| |
Avoid another implicit conversion from MachineInstrBundleIterator to
MachineInstr* by using MachineInstr&.
llvm-svn: 274292
|
|
|
|
|
|
|
|
| |
Fixes PR28096.
Differential Revision: http://reviews.llvm.org/D21619
llvm-svn: 274291
|
|
|
|
|
|
|
|
| |
Switch to a range-based for in IfConverter::PredicateBlock and take
MachineInstr& in MaySpeculate to avoid an implicit conversion from
MachineBasicBlock::iterator to MachineInstr*.
llvm-svn: 274290
|
|
|
|
|
|
| |
noticing.
llvm-svn: 274289
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Debug iterators are valuable so we don't want to turn them off
completely. However, llvm-tblgen is critical to build speed, so we can
skip them here.
Regenerating X86GenSubtargetInfo.inc in a clang-cl self-host debug build
now takes 39s instead of 1m29s.
Helps PR28222
llvm-svn: 274288
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a mechanical change to make TargetLowering API take MachineInstr&
(instead of MachineInstr*), since the argument is expected to be a valid
MachineInstr. In one case, changed a parameter from MachineInstr* to
MachineBasicBlock::iterator, since it was used as an insertion point.
As a side effect, this removes a bunch of MachineInstr* to
MachineBasicBlock::iterator implicit conversions, a necessary step
toward fixing PR26753.
llvm-svn: 274287
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous __make_tuple_indices implementation caused O(N) instantiations
and was pretty inefficient. The C++14 __make_integer_sequence implementation
is much better, since it either uses a builtin to generate the sequence or
a very nice Log8(N) implementation provided by richard smith.
This patch moves the __make_integer_sequence implementation into __tuple
and uses it to implement __make_tuple_indices.
Since libc++ can't expose the name 'integer_sequence' in C++11 this patch
also introduces a dummy type '__integer_sequence' which is used when generating
the sequence. One the sequence is generated '__integer_sequence' can be
converted into the required type; either '__tuple_indices' or 'integer_sequence'.
llvm-svn: 274286
|
|
|
|
| |
llvm-svn: 274285
|
|
|
|
| |
llvm-svn: 274284
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementation.
Summary: This patch changes the options used by offloading to start with -fopenmp instead of -fomp. This makes the option naming more consistent and materializes a suggestion by Richard Smith in http://reviews.llvm.org/D9888.
Reviewers: hfinkel, carlo.bertolli, arpith-jacob, ABataev
Subscribers: kkwli0, cfe-commits, caomhin
Differential Revision: http://reviews.llvm.org/D21841
llvm-svn: 274283
|
|
|
|
| |
llvm-svn: 274282
|
|
|
|
|
|
|
|
| |
This will be re-used by the LoadStoreVectorizer.
Fix handling of range metadata and testcase by Justin Lebar.
llvm-svn: 274281
|
|
|
|
| |
llvm-svn: 274278
|
|
|
|
| |
llvm-svn: 274277
|
|
|
|
|
|
|
|
| |
These iterators are provided to complete the interface with non-range iterators
and are useful for external users of ScopInfo. To ensure they are tested we
use them to implement the existing range iterators.
llvm-svn: 274276
|
|
|
|
|
|
|
| |
This shows up as a verifier error when I move this
earlier, not sure why it didn't before.
llvm-svn: 274275
|
|
|
|
| |
llvm-svn: 274274
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: If AFL_DRIVER_EXTRA_STATS_FILENAME is set and valid, write to it peak_rss_mb and slowest_unit_time_sec. These are both stats that libFuzzer can print but afl cannot.
Reviewers: kcc, aizatsky, metzman
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D21742
llvm-svn: 274273
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ensures that the error status set with -polly-on-isl-error-abort is
maintained even after running DependenceInfo and ScheduleOptimizer. Both
passes temporarily set the error status to CONTINUE as the dependence
analysis uses a compute-out and the scheduler may not be able to derive
a schedule. In both cases we want to not abort, but to handle the error
gracefully. Before this commit, we always set the error reporting to ABORT
after these passes. After this commit, we use the error reporting mode that was
active earlier.
This comes without a test case as this would require us to introduce (memory)
errors which would trigger the isl errors.
llvm-svn: 274272
|
|
|
|
|
|
| |
... instead of call S.getIslCtx() many times.
llvm-svn: 274271
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When compiling with modules, header A and B can be in the same module M.
B depends on intrinsics_gen and A doesn't. Compiling a source file #include-ing
header A, we implicitly request module M to be built. It puts header A and B in
the same TU and tries to build them. Since B depends on intrinsics_gen (which
might not be built yet) we run into build failures.
This should fix our modules buildbot.
Patch reviewed by Chris Bieneman.
llvm-svn: 274270
|
|
|
|
|
|
|
|
|
|
|
| |
It was failing because it had an explicit check for whether we're on
Windows.
There are a few other similar explicit checks in this file which I
didn't remove because they serve as reasonable documentation that the
test doesn't work with a Windows triple.
llvm-svn: 274269
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
associated reporting guide.
I want to emphasize that at this point these are just drafts!
This is the result of very extended discussion on the mailing lists on
several different threads:
http://lists.llvm.org/pipermail/llvm-dev/2015-October/091218.html
http://lists.llvm.org/pipermail/llvm-dev/2016-May/099120.html
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151019/307070.html
The reporting guide in particular I anticipate will be shaped somewhat
by the advisory committee when they are selected. But hopefully this
serves as a good starting point and good guidance while the advisory
committee is being sorted out.
I'd like to thank all the folks who contributed to this. Many, *many*
people worked to help with drafting, wording, suggestions, and edits.
Also, this is based on widely used existing codes of coduct as mentioned
in the text, and the original authors of those deserve many thanks as
well.
Differential Revision: http://reviews.llvm.org/D13741
llvm-svn: 274268
|
|
|
|
|
|
|
|
|
| |
function-style cast to a non-dependent type which is then used in an invalid
way. We'd lose the "type dependent" bit here, and downstream Sema processing
would then discard the expression if it was used in a context where its type
rendered it invalid.
llvm-svn: 274267
|