| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 253072
|
| |
|
|
| |
llvm-svn: 253071
|
| |
|
|
|
|
| |
convention. NFC.
llvm-svn: 253070
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instruction for sext from v16i8 to v16i16 and v8i16 to v8i32.
This patch is enabling combining UNPCKL with vector_shuffle that moves the upper
half of a vector into the lower half, into a UNPCKH instruction. For example:
t2: v16i8 = vector_shuffle<8,9,10,11,12,13,14,15,u,u,u,u,u,u,u,u> t1, undef:v16i8
t3: v16i8 = X86ISD::UNPCKL undef:v16i8, t2
will be combined to:
t3: v16i8 = X86ISD::UNPCKH undef:v16i8, t1
Differential revision: http://reviews.llvm.org/D14399
llvm-svn: 253067
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is a recommit of 252842 which was reverted in 252859. The issue was
using %s format specifier for a StringRef - used Format's
left_justify(StringRef, int) instead.
It'd be nice to have __attribute__((format(..))) on llvm::format, but
apparently it's only implemented for c-style variadics, not C++ variadic
templates. Perhaps we could fix that & conditionalize the attribute on
such...
llvm-svn: 253065
|
| |
|
|
| |
llvm-svn: 253063
|
| |
|
|
| |
llvm-svn: 253062
|
| |
|
|
|
|
| |
This will allow for the code to be reused in the memcpy optimization.
llvm-svn: 253061
|
| |
|
|
|
|
|
| |
Now the offset of UnwindHelp in our EH tables and the offset that we
store to in the prologue agree.
llvm-svn: 253059
|
| |
|
|
| |
llvm-svn: 253056
|
| |
|
|
|
|
| |
Patch by: Alex Deucher
llvm-svn: 253053
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: silvas
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14444
llvm-svn: 253052
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
PE files are stripped by default, and only contain the names of exported
symbols.
The actual reason that we bother to do this override by default is
actually due to a quirk of the way -gline-tables-only is implemented, so
I phrased the check as "if we are symbolizing from dwarf, do the symtab
override".
This fixes lots of Windows ASan tests that I broke in r250582.
Reviewers: samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14594
llvm-svn: 253051
|
| |
|
|
| |
llvm-svn: 253048
|
| |
|
|
|
|
| |
ISD::BITREVERSE matches "rbit" completely, so remove ARMISD::RBIT and mark ISD::BITREVERSE as legal, adding a test for lowering.
llvm-svn: 253047
|
| |
|
|
| |
llvm-svn: 253045
|
| |
|
|
|
|
|
|
| |
SHRAV_R.W, SHRA_R.W, SHRL.PH, SHRL.QB, SHRLV.PH and SHRLV.QB instructions
Differential Revision: http://reviews.llvm.org/D14010
llvm-svn: 253041
|
| |
|
|
|
|
| |
NFC at the moment but it will prevent a failure when IAS is enabled by default.
llvm-svn: 253039
|
| |
|
|
|
|
|
|
|
| |
Use clang-tidy to simplify conditonal return statements.
Author: LegalizeAdulthood
Differential Revision: http://reviews.llvm.org/D9986
llvm-svn: 253038
|
| |
|
|
|
|
|
|
|
| |
assembly.
This is NFC at the moment but will prevent this test from failing when
IAS is the default.
llvm-svn: 253033
|
| |
|
|
|
|
| |
showing the executable it tried to use.
llvm-svn: 253032
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of executable if the argument was found inside a directory
contained in PATH.
An example where this could cause a problem is if there was a RUN line
that ran the ``test`` command and if the user had a directory in their
PATH that contained a directory called ``test/`` (that occured before
``/usr/bin/``). Lit would try to use the directory as the executable
which would fail with the rather cryptic message.
```
Could not create process due to [Errno 13] Permission denied
```
llvm-svn: 253031
|
| |
|
|
|
|
| |
GlobalVariable::print() used to emit a newline. It hasn't for a while now, but these debug lines weren't updated.
llvm-svn: 253030
|
| |
|
|
|
|
| |
Suggested by Mehdi in the review of D14148.
llvm-svn: 253029
|
| |
|
|
|
|
|
|
| |
Something I missed from Hal's review, rightly pointed out by Ben Kramer - we should make sure the expansion is properly checked as it can be easy for bugs to creep in.
I've checked the scalar i8 expansion here and the vector i8 expansion in a previous commit.
llvm-svn: 253024
|
| |
|
|
|
|
|
|
|
|
| |
Richard Trieu noted that UBSan detected an overflowing shift, and the obvious fix caused a crash.
What was happening was that the shiftee (1U) was indeed too small for the possible range of shifts it had to handle, but also we were using "VT.getSizeInBits()" to get the maximum type bitwidth, but we wanted "VT.getScalarSizeInBits()" to get the vector lane size instead of the entire vector size.
Use an APInt for the shift and VT.getScalarSizeInBits().
llvm-svn: 253023
|
| |
|
|
| |
llvm-svn: 253020
|
| |
|
|
| |
llvm-svn: 253019
|
| |
|
|
|
|
|
|
| |
of the input file, instead of using echo.
...and s/\C9/\xC9/
llvm-svn: 253014
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reporting (2nd try)
Summary:
This change addresses two possible instances of user error / confusion when
merging sampled profile data.
Previously any input that didn't match the raw or processed instrumented format
would automatically be interpreted as instrumented profile text format data.
No error would be reported during the merge.
Example:
If foo-sampled.profdata and bar-sampled.profdata are binary sampled profiles:
Old behavior:
$ llvm-profdata merge foo-sampled.profdata bar-sampled.profdata -output foobar-sampled.profdata
$ llvm-profdata show -sample foobar-sampled.profdata
error: foobar-sampled.profdata:1: Expected 'mangled_name:NUM:NUM', found lprofi
This change adds basic checks for valid input data when assuming text input.
It also makes error messages related to file format validity more specific about
the assumbed profile data type.
New behavior:
$ llvm-profdata merge foo-sampled.profdata bar-sampled.profdata -o foobar-sampled.profdata
error: foo.profdata: Unrecognized instrumentation profile encoding format
Perhaps you forgot to use the -sample option?
Reviewers: bogner, davidxl, dnovillo
Subscribers: davidxl, llvm-commits
Differential Revision: http://reviews.llvm.org/D14558
llvm-svn: 253009
|
| |
|
|
| |
llvm-svn: 253006
|
| |
|
|
| |
llvm-svn: 253005
|
| |
|
|
|
|
| |
sanitizer headers
llvm-svn: 253003
|
| |
|
|
| |
llvm-svn: 253000
|
| |
|
|
|
|
| |
Some of the buildbots are still failing.
llvm-svn: 252999
|
| |
|
|
| |
llvm-svn: 252997
|
| |
|
|
| |
llvm-svn: 252996
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reapplies r252949. I've changed the type of FuncName to be
std::string instead of StringRef in emitFnAttrCompatCheck.
Original commit message for r252949:
Provide a way to specify inliner's attribute compatibility and merging
rules using table-gen. NFC.
This commit adds new classes CompatRule and MergeRule to Attributes.td,
which are used to generate code to check attribute compatibility and
merge attributes of the caller and callee.
rdar://problem/19836465
llvm-svn: 252990
|
| |
|
|
| |
llvm-svn: 252989
|
| |
|
|
|
|
|
|
| |
This arranges the types in the LLVM instruction names in the same order that
they appear in the WebAssembly opcode names, and eliminates
double-underscores.
llvm-svn: 252988
|
| |
|
|
|
|
|
| |
With MC-based instruction printing, we no longer need instruction names to
mangle in hints about how they should be printed.
llvm-svn: 252987
|
| |
|
|
| |
llvm-svn: 252985
|
| |
|
|
| |
llvm-svn: 252984
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The value that the CoreCLR personality passes to a funclet for the
establisher frame may be the root function's frame or may be the parent
funclet's (mostly empty) frame in the case of nested funclets. Each
funclet stores a pointer to the root frame in its own (mostly empty)
frame, as does the root function itself. All frames allocate this slot at
the same offset, measured from the post-prolog stack pointer, so that the
same sequence can accept any ancestor as an establisher frame parameter
value, and so that a single offset can be reported to the GC, which also
looks at this slot.
This change allocate the slot when processing function entry, and records
its frame index on the WinEHFuncInfo object, then inserts the code to
set/copy it during prolog emission.
Reviewers: majnemer, AndyAyers, pgavlin, rnk
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14614
llvm-svn: 252983
|
| |
|
|
| |
llvm-svn: 252975
|
| |
|
|
|
|
|
|
|
|
| |
It made it possible to apply the memory folding optimization for the 2nd
operand of FMA*_Int instructions.
Reviewer: Quentin Colombet
Differential Revision: http://reviews.llvm.org/D14550
llvm-svn: 252973
|
| |
|
|
| |
llvm-svn: 252970
|
| |
|
|
|
|
| |
new-value producer usage.
llvm-svn: 252969
|
| |
|
|
|
|
| |
parsed.
llvm-svn: 252968
|
| |
|
|
| |
llvm-svn: 252962
|