| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 253063
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Use clang-tidy to simplify conditonal return statements.
Author: LegalizeAdulthood
Differential Revision: http://reviews.llvm.org/D9986
llvm-svn: 253038
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 253005
|
|
|
|
|
|
| |
sanitizer headers
llvm-svn: 253003
|
|
|
|
|
|
| |
Some of the buildbots are still failing.
llvm-svn: 252999
|
|
|
|
| |
llvm-svn: 252997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r252565.
This also includes the revert of the commit mentioned below in order to
avoid breaking tests in AMDGPU:
Revert "AMDGPU: Set isAllocatable = 0 on VS_32/VS_64"
This reverts commit r252674.
llvm-svn: 252956
|
|
|
|
|
|
| |
It broke some of the bots including clang-x64-ninja-win7.
llvm-svn: 252951
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 252949
|
|
|
|
|
|
|
|
|
|
|
| |
r243347 was intended to support a change to LSR (r243348). That change
to LSR has since had to be reverted (r243939) because it was buggy, and
now the code added in r243347 is untested and unexercised. Given that,
I think it is appropriate to revert r243347 for now, with the intent of
adding it back in later if I get around to checking in a fixed version
of r243348.
llvm-svn: 252948
|
|
|
|
| |
llvm-svn: 252947
|
|
|
|
|
|
| |
This will make later functional changes easier to follow.
llvm-svn: 252946
|
|
|
|
| |
llvm-svn: 252940
|
|
|
|
|
|
| |
This reverts 252919 which broke LNT: MultiSource/Applications/SPASS
llvm-svn: 252936
|
|
|
|
|
|
| |
Found by leaksanitizer.
llvm-svn: 252931
|
|
|
|
|
|
|
| |
This change prevents uninteresting stores from being inserted into the list of
candidate stores for memset/memcpy conversion.
llvm-svn: 252926
|
|
|
|
| |
llvm-svn: 252925
|
|
|
|
| |
llvm-svn: 252921
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
when coercing loads, it inserts some instructions, which have no GV assigned.
https://llvm.org/bugs/show_bug.cgi?id=25440
Reviewers: hfinkel, dberlin
Subscribers: dberlin, llvm-commits
Differential Revision: http://reviews.llvm.org/D14479
llvm-svn: 252919
|
|
|
|
| |
llvm-svn: 252918
|
|
|
|
|
|
|
|
| |
ShrinkWrapping does not understand exception handling constraints for now, so
make sure we do not mess with them by aborting on functions that use EH
funclets.
llvm-svn: 252917
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 252916
|
|
|
|
|
|
|
| |
The class is declared in SampleProf.h, so a better home for this is
SampleProf.cpp.
llvm-svn: 252915
|
|
|
|
|
|
| |
Patch provided by Yaron Keren. (Thanks!)
llvm-svn: 252913
|
|
|
|
|
|
|
|
| |
Fix the library name.
Don't duplicate the comment in the .cpp file.
Don't repeat the name in the comment.
llvm-svn: 252911
|