| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 270424
|
| |
|
|
| |
llvm-svn: 270423
|
| |
|
|
| |
llvm-svn: 270422
|
| |
|
|
| |
llvm-svn: 270421
|
| |
|
|
| |
llvm-svn: 270420
|
| |
|
|
|
|
|
|
|
|
| |
The exit-on-error flag on the many_args1.ll test is needed to avoid an
unreachable in BPFTargetLowering::LowerCall. We can also avoid it by ignoring
any superfluous arguments to the call (i.e. any arguments after the first 5).
Fixes PR27766
llvm-svn: 270419
|
| |
|
|
|
|
| |
This code should have been with the previous check-in (r270417) and prevents the DelaySlotFiller pass being utilized in functions where the erratum fix has been applied as this will break the run-time code.
llvm-svn: 270418
|
| |
|
|
|
|
|
|
|
|
| |
Due to an erratum in some versions of LEON, we must insert a NOP after any LD or LDF instruction to ensure the processor has time to load the value correctly before using it. This pass will implement that erratum fix.
The code will have no effect for other Sparc, but non-LEON processors.
Differential Review: http://reviews.llvm.org/D20353
llvm-svn: 270417
|
| |
|
|
|
|
|
|
|
| |
Before this patch we bailed if a required invariant load was potentially
overwritten. However, now we will optimistically assume it is actually
invariant and, to this end, restrict the valid parameter space as well as the
execution context with regards to potential overwrites of the location.
llvm-svn: 270416
|
| |
|
|
|
|
|
|
|
|
|
|
| |
modifiers for imms.
Reviewers: nhaustov, tstellarAMD
Subscribers: kzhuravl, arsenm
Differential Revision: http://reviews.llvm.org/D20166
llvm-svn: 270415
|
| |
|
|
| |
llvm-svn: 270414
|
| |
|
|
| |
llvm-svn: 270413
|
| |
|
|
|
|
|
|
|
|
|
| |
Since the base pointer of a possibly aliasing pointer might not alias
with any other pointer it (the base pointer) might not be tagged as
"required invariant". However, we need it do be in order to compare
the accessed addresses of the derived (possibly aliasing) pointer.
This patch also tries to clean up the load hoisting a little bit.
llvm-svn: 270412
|
| |
|
|
| |
llvm-svn: 270411
|
| |
|
|
| |
llvm-svn: 270410
|
| |
|
|
|
|
|
| |
We have to rethink the handling of escaping values in order to make
this kind of "fixes" go away.
llvm-svn: 270409
|
| |
|
|
|
|
|
| |
This patch simplifies the Sdiv/Srem/Udiv expansion and thereby
prevents errors, e.g., regarding the insertion point.
llvm-svn: 270408
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20514
llvm-svn: 270401
|
| |
|
|
|
|
|
| |
backtraces from the signal handler on stack overflow now work reliably (on my
system at least...).
llvm-svn: 270395
|
| |
|
|
|
|
| |
optimizing moves to use 2 byte VEX prefix.
llvm-svn: 270394
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, EhFrameHdr section computed addresses to which FDEs are
applied to. This is not an ideal design because EhFrameHdr does not
know much about FDEs unless EhFrame passes the information to EhFrameHdr.
It is what we did.
This patch simplifies the code by making EhFrame to compute the
values and pass the cooked information to EhFrameHdr. EhFrameHdr no
longer have to know about the details of FDEs such as FDE encodings.
llvm-svn: 270393
|
| |
|
|
|
|
|
|
| |
Exherbo has an alternative file system layout to accommodate multiarch. The
loader is located at /usr/${triple}/lib/${loader}. Adjust the Linux toolchain
to support that on exherbo.
llvm-svn: 270392
|
| |
|
|
| |
llvm-svn: 270391
|
| |
|
|
| |
llvm-svn: 270390
|
| |
|
|
|
|
|
| |
This reverts commit r270106. It results in certain function types
omitted in the output.
llvm-svn: 270389
|
| |
|
|
| |
llvm-svn: 270388
|
| |
|
|
| |
llvm-svn: 270387
|
| |
|
|
| |
llvm-svn: 270386
|
| |
|
|
| |
llvm-svn: 270385
|
| |
|
|
|
|
|
|
| |
My last commit made Clang to fail with an assertion failure.
https://llvm.org/bugs/show_bug.cgi?id=27835
This is a patch to avoid that.
llvm-svn: 270384
|
| |
|
|
|
|
|
|
| |
subvectors using XMM or YMM stores instead of the vector extract instructions.
Similar is already done for AVX and we had lost it going to AVX512VL.
llvm-svn: 270383
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch refactors EHOutputSection using SectionPiece struct.
EHRegion class was removed since we can now directly use SectionPiece.
An incomplete support of large CIE/FDE record (> 2^32 bytes) was removed
because it silently created broken executable. There are several places
in the existing code that "size" field is always 4 bytes and at offset 4
in the record, which is not true for 64-bit size records. We will have to
support that in future, but it is better to error out instead of creating
malformed eh_frame sections.
llvm-svn: 270382
|
| |
|
|
|
|
|
| |
If TheModule is declared before LLVMContext then it will be destructed after it,
crashing when it tries to deregister itself from the destructed context.
llvm-svn: 270381
|
| |
|
|
| |
llvm-svn: 270380
|
| |
|
|
| |
llvm-svn: 270379
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(PR27823)
This isn't the complete fix, but it handles the trivial examples of duplicate vzero* ops in PR27823:
https://llvm.org/bugs/show_bug.cgi?id=27823
...and amusingly, the bogus cases already exist as regression tests, so let's take this baby step.
We'll need to do more in the general case where there's legitimate AVX usage in the function + there's
already a vzero in the code.
Differential Revision: http://reviews.llvm.org/D20477
llvm-svn: 270378
|
| |
|
|
|
|
| |
Address a -Wunused-but-set-variable warning from gcc. NFC.
llvm-svn: 270377
|
| |
|
|
|
|
|
|
| |
Using -fomit-frame-pointer sometimes makes a crash log miss some frames. Let's not use this optimization in debug builds.
Differential Revision: http://reviews.llvm.org/D20425
llvm-svn: 270376
|
| |
|
|
| |
llvm-svn: 270375
|
| |
|
|
| |
llvm-svn: 270374
|
| |
|
|
| |
llvm-svn: 270373
|
| |
|
|
| |
llvm-svn: 270372
|
| |
|
|
|
|
|
| |
Remove dependency on runtime initializer to avoid
issues related to initialization order.
llvm-svn: 270371
|
| |
|
|
| |
llvm-svn: 270370
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
vector splat constants
We could try harder to handle non-splat vector constants too,
but that seems much rarer to me.
Note that the div test isn't resolved because there's a check
for isIntegerTy() guarding that transform.
Differential Revision: http://reviews.llvm.org/D20497
llvm-svn: 270369
|
| |
|
|
| |
llvm-svn: 270368
|
| |
|
|
| |
llvm-svn: 270367
|
| |
|
|
| |
llvm-svn: 270366
|
| |
|
|
|
|
| |
in the middle of a sentence.
llvm-svn: 270365
|
| |
|
|
| |
llvm-svn: 270364
|