| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
optional AAA aaa = 1 [foo =
{
key: "a" //
},
bar = {
key: "a" //
}];
After:
optional AAA aaa = 1 [
foo = {
key: "a" //
},
bar = {
key: "a" //
}
];
llvm-svn: 256736
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amazingly, we just never triggered this without:
1) Moving code around for MetadataTracking so that a certain *different*
amount of inlining occurs in the per-TU compile step.
2) Then you LTO opt or clang with a bootstrap, and get inlining, loop
opts, and GVN line up everything *just* right.
I don't really know how we didn't hit this before. We really need to be
fuzz testing stuff, it shouldn't be hard to trigger. I'm working on
crafting a reduced nice test case, and will submit that when I have it,
but I want to get LTO build bots going again.
llvm-svn: 256735
|
| |
|
|
| |
llvm-svn: 256734
|
| |
|
|
|
|
| |
UnOpInit/BinOpInit/TernOpInit allowing those types to be a little smaller. NFC
llvm-svn: 256733
|
| |
|
|
|
|
| |
in the support library will be deleted.
llvm-svn: 256732
|
| |
|
|
|
|
| |
in the support library will be deleted.
llvm-svn: 256731
|
| |
|
|
|
|
|
|
|
|
| |
We need a frame pointer if there is a push/pop sequence after the
prologue in order to unwind the stack. Scanning the instructions to
figure out if this happened made hasFP not constant-time which is a
violation of expectations. Let's compute this up-front and reuse that
computation when we need it.
llvm-svn: 256730
|
| |
|
|
| |
llvm-svn: 256729
|
| |
|
|
|
|
|
|
|
|
|
| |
We had two bugs here:
- We might try to sink into a catchswitch, causing verifier failures.
- We will succeed in sinking into a cleanuppad but we didn't update the
funclet operand bundle.
This fixes PR26000.
llvm-svn: 256728
|
| |
|
|
|
|
|
|
|
|
|
| |
"__as_link()" can only be used safely on "__list_node" objects. This patch
moves the "__as_link()" member function from "__list_node_base" to "__list_node"
so it cannot be used incorrectly.
Unsafe downcasts now use a non-member function so we don't defer the type-punned
pointer.
llvm-svn: 256727
|
| |
|
|
|
|
| |
std::vector reference. Use None in many places where a default constructed vector was being passed. NFC
llvm-svn: 256726
|
| |
|
|
|
|
|
|
|
|
|
|
| |
multiclass containing a defm called NAME that references another multiclass that contains a defm that uses NAME concatenated with other strings.
It would end up doing the concatenations from the second multiclass twice. This occured because SetValue detected a self assignment when trying to set the value of NAME to a VarInit called NAME. NAME is special here and it will get cleaned up later. So add a flag to suppress the self assignment check for this case.
Strangely the self-assignment error was returning false indicating it wasn't an error, but it wasn't doing the right thing. So this also changes it to report an error.
This fixes the names of some AVX512 FMA instructions that showed this double expansion.
llvm-svn: 256725
|
| |
|
|
|
|
| |
Obtained from FreeBSD r292611
llvm-svn: 256724
|
| |
|
|
|
|
|
|
| |
(There are changes in the copies of these four files in the FreeBSD base
system, and I've changed these ones to reduce gratuitous diffs in future
imports.)
llvm-svn: 256723
|
| |
|
|
| |
llvm-svn: 256722
|
| |
|
|
| |
llvm-svn: 256721
|
| |
|
|
| |
llvm-svn: 256720
|
| |
|
|
| |
llvm-svn: 256719
|
| |
|
|
| |
llvm-svn: 256718
|
| |
|
|
| |
llvm-svn: 256717
|
| |
|
|
|
|
|
|
| |
CoverageMapping data's section and alignment is
already set during creation. No need to call it again
during lowering.
llvm-svn: 256716
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is one last remaining instrumentatation related structure
that needs to be migrate to use the centralized template
definition. With this change, instrumentation code
related to coverage module header will be kept in sync
with the coverage mapping reader. The remaining code
which makes implicit assumption about covmap control
structure layout in the the lowering pass will cleaned
up in a different patch. This patch is not intended to
have no functional change.
llvm-svn: 256715
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is one last remaining instrumentatation related structure
that needs to be migrate to use the centralized template
definition. With this change, instrumentation code
related to coverage module header will be kept in sync
with the coverage mapping reader. The remaining code
which makes implicit assumption about covmap control
structure layout in the the lowering pass will cleaned
up in a different patch. This patch is not intended to
have no functional change.
llvm-svn: 256714
|
| |
|
|
|
|
| |
Shows the true horror of what is going on....
llvm-svn: 256713
|
| |
|
|
| |
llvm-svn: 256712
|
| |
|
|
| |
llvm-svn: 256711
|
| |
|
|
| |
llvm-svn: 256710
|
| |
|
|
|
|
| |
Pulled out the similar CONCAT_VECTORS creation code from the 2/3 operand getNode() calls (to handle all UNDEF and all BUILD_VECTOR cases). Added a similar handler to the general getNode() call as well.
llvm-svn: 256709
|
| |
|
|
|
|
| |
Many of these could be much better if we just lowered them all as shuffles - especially for the 256-bit vectors.
llvm-svn: 256708
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
There are a number of files in the tree which have been accidentally checked in with DOS line endings. Convert these to native line endings.
There are also a few files which have DOS line endings on purpose, and I have set the svn:eol-style property to 'CRLF' on those.
Reviewers: joerg, aaron.ballman
Subscribers: aaron.ballman, sanjoy, dsanders, llvm-commits
Differential Revision: http://reviews.llvm.org/D15848
llvm-svn: 256707
|
| |
|
|
|
|
| |
As mentioned on D14261, an upcoming patch will improve combines of insertps instructions.
llvm-svn: 256706
|
| |
|
|
|
|
| |
This is mainly test cases for improvements to insertps matching, but pre-SSE41 shuffles could be improved as well
llvm-svn: 256705
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
There are a number of files in the tree which have been accidentally checked in with DOS line endings. Convert these to native line endings.
There are also a few files which have DOS line endings on purpose, and I have set the svn:eol-style property to 'CRLF' on those.
Reviewers: joerg, aaron.ballman
Subscribers: aaron.ballman, cfe-commits
Differential Revision: http://reviews.llvm.org/D15849
llvm-svn: 256704
|
| |
|
|
|
|
| |
empty before printing. The loop can be made to print the same thing if the loop is empty. NFC
llvm-svn: 256703
|
| |
|
|
| |
llvm-svn: 256702
|
| |
|
|
| |
llvm-svn: 256701
|
| |
|
|
| |
llvm-svn: 256700
|
| |
|
|
|
|
| |
comparison for readability. NFC
llvm-svn: 256699
|
| |
|
|
| |
llvm-svn: 256698
|
| |
|
|
|
|
| |
still emitted a closing curly brace.
llvm-svn: 256697
|
| |
|
|
| |
llvm-svn: 256696
|
| |
|
|
| |
llvm-svn: 256695
|
| |
|
|
| |
llvm-svn: 256694
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
right before commit. Sorry about that.
Test did not catch this either, so I`ll improve it and recommit later.
Original commit message:
[ELF] - Optimize .eh_frame section: remove CIE if all FDEs referencing it were removed.
This patch performs little optimization for eh_frame section.
If all FDE`s that referenced CIE are removed then CIE is also removed from output.
That can happen for example when dropping FDEs that point to dropped sections. Testcase showing that is included.
The same optimization was added to ld about 14 years ago: https://sourceware.org/ml/binutils/2001-12/msg00144.html, gold does not do that it seems.
Differential revision: http://reviews.llvm.org/D15564
llvm-svn: 256693
|
| |
|
|
|
|
| |
Fix build break introduced by r256691.
llvm-svn: 256692
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The handler list must be nonempty and consist solely of CatchPads.
Reviewers: rnk, andrew.w.kaylor, majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15842
llvm-svn: 256691
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: A catchswitch cannot be a parent of a cleanuppad or another catchswitch.
Reviewers: rnk, andrew.w.kaylor, majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15841
llvm-svn: 256690
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Add a pass to update catchrets when their successors get cloned; the
existing pass doesn't catch these because it walks the funclet whose
blocks are being cloned but the catchret is in a child funclet.
Also update the test for removing incoming PHI values; when the
predecessor is a catchret, the relevant color is the catchret's parentPad,
not its block's color.
Reviewers: andrew.w.kaylor, rnk, majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15840
llvm-svn: 256689
|
| |
|
|
|
|
|
|
|
|
| |
without braces.
While the original code would work with or without braces, it makes sense to
set HaveSemi to true only if (!HaveSemi), otherwise it's already true, so I
put the assignment inside the if block. This addresses PR25998.
llvm-svn: 256688
|
| |
|
|
|
|
|
|
| |
Recolor the IR to make sure our computed colors are not hiding any bugs.
Also, verifyFunction if we are running some post-preparation operations;
some of these operations can hide latent bugs.
llvm-svn: 256687
|