| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 239298
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously if an MI command had **X** mandatory and **Y** optional arguments you could provide **X** or more optional arguments without providing any of the mandatory arguments, and the argument validation code wouldn't complain.
For example this would pass argument validation even though the mandatory **address** and **count** arguments are missing:
-data-read-memory-bytes --thread 1 --frame 0
Part of the problem was that an empty string was considered a valid value for a mandatory argument, which didn't make much sense.
Patch by Vadim Macagon. Thanks!
Test Plan:
./dotest.py -A x86_64 -C clang --executable $BUILDDIR/bin/lldb tools/lldb-mi/
No unexpected failures on my Ubuntu 14.10 64bit Virtualbox VM.
Reviewers: domipheus, ki.stfu, abidh
Reviewed By: ki.stfu, abidh
Subscribers: brucem, lldb-commits
Differential Revision: http://reviews.llvm.org/D10299
llvm-svn: 239297
|
| |
|
|
| |
llvm-svn: 239296
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We need to add a runtime memcheck for pair of accesses (x,y) where at least one of x and y
are writes.
Assuming we have w writes and r reads, currently this number is estimated as being
w* (w+r-1). This estimation will count (write,write) pairs twice and will overestimate
the number of checks required.
This change adds a getNumberOfChecks method to RuntimePointerCheck, which
will count the number of runtime checks needed (similar in implementation to
needsAnyChecking) and uses it to produce the correct number of runtime checks.
Test Plan:
llvm test suite
spec2k
spec2k6
Performance results: no changes observed (not surprising since the formula for 1 writer is basically the same, which would covers most cases - at least with the current check limit).
Reviewers: anemet
Reviewed By: anemet
Subscribers: mzolotukhin, llvm-commits
Differential Revision: http://reviews.llvm.org/D10217
llvm-svn: 239295
|
| |
|
|
|
|
|
|
|
|
| |
unused result detection)
This patch fixes issues with unused result detection which were found in patch http://reviews.llvm.org/D9743.
Differential Revision: http://reviews.llvm.org/D10042
llvm-svn: 239294
|
| |
|
|
| |
llvm-svn: 239293
|
| |
|
|
|
|
|
|
|
| |
MSVC profiler reported that this stable_sort takes 7% time
when self-linking. As a result, createSection was taking 10% time.
Now createSection takes 3%. This small change actually makes
the linker a bit but perceptibly faster.
llvm-svn: 239292
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Interleaved memory accesses are grouped and vectorized into vector load/store and shufflevector.
E.g. for (i = 0; i < N; i+=2) {
a = A[i]; // load of even element
b = A[i+1]; // load of odd element
... // operations on a, b, c, d
A[i] = c; // store of even element
A[i+1] = d; // store of odd element
}
The loads of even and odd elements are identified as an interleave load group, which will be transfered into vectorized IRs like:
%wide.vec = load <8 x i32>, <8 x i32>* %ptr
%vec.even = shufflevector <8 x i32> %wide.vec, <8 x i32> undef, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
%vec.odd = shufflevector <8 x i32> %wide.vec, <8 x i32> undef, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
The stores of even and odd elements are identified as an interleave store group, which will be transfered into vectorized IRs like:
%interleaved.vec = shufflevector <4 x i32> %vec.even, %vec.odd, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
store <8 x i32> %interleaved.vec, <8 x i32>* %ptr
This optimization is currently disabled by defaut. To try it by adding '-enable-interleaved-mem-accesses=true'.
llvm-svn: 239291
|
| |
|
|
|
|
|
| |
This is NFC but makes log message a bit nicer because it doesn't
append .\ (or ./ on Unix) to files in the current directory.
llvm-svn: 239290
|
| |
|
|
| |
llvm-svn: 239289
|
| |
|
|
| |
llvm-svn: 239288
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We forgot to check for auxiliary symbol's type. So we sometimes read
garbage as associative section definitions.
Associative sections are considered as not live themselves by the
garbage collector because they are live only when associaited sections
are live.
By reading more data (or garbage) as associative section definitions,
we treated more sections as non-GC-roots, that caused the linker to
discard too many sections by mistake. That caused another mysterious
bug (such as some global constructors don't run at all for some reason.)
llvm-svn: 239287
|
| |
|
|
| |
llvm-svn: 239286
|
| |
|
|
|
|
|
|
| |
strided accesses.
Differential Revision: http://reviews.llvm.org/D9368
llvm-svn: 239285
|
| |
|
|
| |
llvm-svn: 239284
|
| |
|
|
| |
llvm-svn: 239283
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
heuristic.
Summary:
Using some SCEV functionality helped to entirely remove SCEVCache class and FindConstantPointers SCEV visitor.
Also, this makes the code more universal - I'll take advandate of it in next patches where I start handling additional types of instructions.
Test Plan: Tests would be submitted in subsequent patches.
Reviewers: atrick, chandlerc
Reviewed By: atrick, chandlerc
Subscribers: atrick, llvm-commits
Differential Revision: http://reviews.llvm.org/D10205
llvm-svn: 239282
|
| |
|
|
|
|
|
| |
Now that all InputFile subclasses have MemoryBufferRefs and
provides the same set of functions. Implement that in the base class.
llvm-svn: 239281
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
I don't know what the right thing to do here, but at least 1 does
not seem like a correct value. If we do not align common chunks at
all, a small program which calls puts() from global dtors crashes
mysteriously in a kernel32's function.
I believe the crash was caused by symbols overlapping each other,
and my guess is that alignment has something to do with that, but
I am not 100% sure. Needs investigating.
llvm-svn: 239280
|
| |
|
|
| |
llvm-svn: 239279
|
| |
|
|
|
|
|
|
|
| |
No functional change intended, other than some minor changes to certain
diagnostics.
Differential Revision: http://reviews.llvm.org/D10296
llvm-svn: 239278
|
| |
|
|
|
|
| |
return. Instead just call the default constructor in the return.
llvm-svn: 239277
|
| |
|
|
| |
llvm-svn: 239276
|
| |
|
|
|
|
| |
included header file.
llvm-svn: 239275
|
| |
|
|
|
|
| |
couple places. NFC
llvm-svn: 239274
|
| |
|
|
|
|
|
| |
Encoding the version into the triple will allow us to communicate to
LLVM what functions it can expect to depend upon in the implementation.
llvm-svn: 239273
|
| |
|
|
| |
llvm-svn: 239272
|
| |
|
|
|
|
|
| |
This change doesn't change its functionality since the value
passed here is converted to uint16_t immediately.
llvm-svn: 239271
|
| |
|
|
| |
llvm-svn: 239270
|
| |
|
|
| |
llvm-svn: 239269
|
| |
|
|
| |
llvm-svn: 239268
|
| |
|
|
| |
llvm-svn: 239267
|
| |
|
|
|
|
|
| |
/include'ed symbols are already added to Config->GCRoots.
Marking symbols twice doesn't have any effect.
llvm-svn: 239266
|
| |
|
|
|
|
| |
setting instprinter appropriately.
llvm-svn: 239265
|
| |
|
|
| |
llvm-svn: 239264
|
| |
|
|
| |
llvm-svn: 239263
|
| |
|
|
| |
llvm-svn: 239262
|
| |
|
|
|
|
|
| |
No test since the kinds of transforms this prevents seem to not really
be relevant for SI's different addressing modes.
llvm-svn: 239261
|
| |
|
|
|
|
|
| |
Update to match the TLI version, and remove the TLI version's
default argument.
llvm-svn: 239260
|
| |
|
|
|
|
|
|
|
|
|
|
| |
OCaml doc builds fail without .cmi files, and .cmi files are collected
in ocaml_outputs. Therefore, make doc targets depend on ocaml_outputs as
well.
Fixes: https://llvm.org/bugs/show_bug.cgi?id=23777
Patch by Michał Górny <mgorny@gentoo.org>
llvm-svn: 239259
|
| |
|
|
| |
llvm-svn: 239258
|
| |
|
|
| |
llvm-svn: 239257
|
| |
|
|
| |
llvm-svn: 239254
|
| |
|
|
| |
llvm-svn: 239253
|
| |
|
|
|
|
| |
Added tests to the existing SSE/AVX test files.
llvm-svn: 239252
|
| |
|
|
|
|
| |
No change in output intended.
llvm-svn: 239251
|
| |
|
|
| |
llvm-svn: 239250
|
| |
|
|
| |
llvm-svn: 239249
|
| |
|
|
| |
llvm-svn: 239248
|
| |
|
|
|
|
| |
constructor to reduce code duplication. NFC
llvm-svn: 239247
|