| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
"frame-pointer"="none" as cleanups after D56351
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: gchatelet, spatel
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D62287
llvm-svn: 361490
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: In preparation for D60318 .
Reviewers: gchatelet, efriedma
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D62068
llvm-svn: 361239
|
|
|
|
|
|
|
|
|
|
| |
With a fix for PR41917: The predecessor list was changing under our feet.
- for (BasicBlock *Pred : predecessors(EntryBlock_)) {
+ while (!pred_empty(EntryBlock_)) {
+ BasicBlock* const Pred = *pred_begin(EntryBlock_);
llvm-svn: 361009
|
|
|
|
| |
llvm-svn: 361001
|
|
|
|
|
|
| |
It caused PR41917.
llvm-svn: 360963
|
|
|
|
|
|
| |
This revision does not seem to be the culprit.
llvm-svn: 360859
|
|
|
|
|
|
| |
Breaks a bunch of builbdots.
llvm-svn: 360776
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of patching the original blocks, we now generate new blocks and
delete the old blocks. This results in simpler code with a less twisted
control flow (see the change in `entry-block-shuffled.ll`).
This will make https://reviews.llvm.org/D60318 simpler by making it more
obvious where control flow created and deleted.
Reviewers: gchatelet
Subscribers: hiraditya, llvm-commits, spatel
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61736
llvm-svn: 360771
|
|
|
|
|
|
| |
And use a more compact name for the tested struct.
llvm-svn: 360319
|
|
|
|
| |
llvm-svn: 360314
|
|
|
|
|
|
|
|
| |
The reversion apparently deleted the test/Transforms directory.
Will be re-reverting again.
llvm-svn: 358552
|
|
|
|
|
|
|
|
| |
As it's causing some bot failures (and per request from kbarton).
This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda.
llvm-svn: 358546
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch prevents MergeICmps to performn the transformation if the address operand GEP of the load instruction has a use outside of the load's parent block. Without this patch, compiler crashes with the given test case because the use of `%first.i` is still around when the basic block is erased from https://github.com/llvm-mirror/llvm/blob/master/lib/Transforms/Scalar/MergeICmps.cpp#L620. I think checking `isUsedOutsideOfBlock` with `GEP` is the original intention of the code, as the checking for `LoadI` is already performed in the same function.
This patch is incomplete though, as this makes the pass overly conservative and fails the test `tuple-four-int8.ll`. I believe what needs to be done is checking if GEP has a use outside of block that is not the part of "Comparisons" chain. Submit the patch as of now to prevent compiler crash.
Reviewers: courbet, trentxintong
Reviewed By: courbet
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D54089
llvm-svn: 346151
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The visitICmp analysis function would record compares of pointer types, as size 0. This causes the resulting memcmp() call to have the wrong total size.
Found with "self-build" of clang/LLVM on Windows.
Reviewers: christylee, trentxintong, courbet
Reviewed By: courbet
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D53536
llvm-svn: 345413
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: javed.absar, trentxintong, courbet
Reviewed By: trentxintong
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D52433
llvm-svn: 342919
|
|
|
|
| |
llvm-svn: 342907
|
|
|
|
|
|
|
|
| |
until tomorrow.
Failing bot: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/36708
llvm-svn: 342509
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D51998
llvm-svn: 342498
|
|
|
|
|
|
|
|
| |
This diff is to show the difference before and after D51550
Differential Revision: https://reviews.llvm.org/D52044
llvm-svn: 342494
|
|
|
|
|
|
| |
Fixes clang crashing with -fno-builtin, PR37527.
llvm-svn: 332808
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We do not try to move the instructions and split the block till we
know the blocks can be split, i.e. BCE-cmp-insts can be separated from
non-BCE-cmp-insts.
Reviewers: davide, courbet
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D44443
llvm-svn: 329564
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Fix a bug in entry block shuffled to middle of the chain.
Reviewers: davide, courbet
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D44642
llvm-svn: 327971
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Fixes PR36557.
Reviewers: trentxintong, spatel
Subscribers: mstorsjo, llvm-commits
Differential Revision: https://reviews.llvm.org/D44083
llvm-svn: 327372
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We can discard initial blocks that do other work
We do not need to limit ourselves to just the first block in the chain.
Reviewers: courbet, davide
Reviewed By: courbet
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D44029
llvm-svn: 326698
|
|
|
|
|
|
| |
Reverts r326574.
llvm-svn: 326582
|
|
|
|
|
|
|
|
|
|
| |
Summary: See PR36557.
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D44009
llvm-svn: 326574
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
more than once.
Summary:
Fix a bug in MergeICmp that can lead to a BCECmp block being processed more than once and eventually lead to a broken LLVM module.
The problem is that if the non-constant value is not produced by the last block, the producer will be processed once when the its parent block
is processed and second time when the last block is processed.
We end up having 2 same BCECmpBlock in the merge queue. And eventually lead to a broken LLVM module.
Reviewers: courbet, davide
Reviewed By: courbet
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D43825
llvm-svn: 326318
|
|
|
|
|
|
|
|
|
|
| |
- Fix condition for detecting that a complex basic block was the first in
the chain.
- Add tests.
This was caught by buildbots when submitting rL324319.
llvm-svn: 324341
|
|
|
|
|
|
|
|
|
|
| |
handle memcmp expansion."
(fixed stability issues)
This reverts commit d6492333d3b478a1d88163315002022f8d5e58dc.
llvm-svn: 315281
|
|
|
|
| |
llvm-svn: 315062
|
|
|
|
|
|
|
|
|
|
| |
handle memcmp expansion."
Still a few stability issues on windows.
This reverts commit 67e3db9bc121ba244e20337aabc7cf341a62b545.
llvm-svn: 315058
|
|
|
|
|
|
|
|
|
|
| |
handle memcmp expansion."
(fixed unit tests by making comparisons stable)
This reverts commit 1b2d359ce256fd6737da4e93833346a0bd6d7583.
llvm-svn: 315056
|
|
|
|
|
|
|
|
|
|
| |
to handle memcmp expansion."""
broken test on windows
This reverts commit c91479518344fd1fc071c5bd5848f6eb83e53dca.
llvm-svn: 314985
|
|
|
|
|
|
| |
handle memcmp expansion.""
llvm-svn: 314980
|
|
|
|
|
|
|
|
|
|
|
| |
handle memcmp expansion."
Breaks
clang-stage1-cmake-RA-incremental/llvm/test/Transforms/MergeICmps/X86/tuple-four-int8.ll
This reverts commit 3038c459d67f8898ffa295d54a013b280690abfa.
llvm-svn: 314972
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expansion.
Summary: This is to avoid e.g. merging two cheap icmps if the target is not going to expand to something nice later.
Reviewers: dberlin, spatel
Subscribers: davide, nemanjai
Differential Revision: https://reviews.llvm.org/D38232
llvm-svn: 314970
|
|
|
|
|
|
|
|
|
|
| |
turns chains of integer
Add missing header.
This reverts commit 86dd6335cf7607af22f383a9a8e072ba929848cf.
llvm-svn: 312322
|
|
|
|
|
|
|
|
|
|
| |
of integer"
Break build
This reverts commit d07ab866f7f88f81e49046d691a80dcd32d7198b.
llvm-svn: 312317
|
|
comparisons into memcmp.
Thanks to recent improvements in the LLVM codegen, the memcmp is typically
inlined as a chain of efficient hardware comparisons.
This typically benefits C++ member or nonmember operator==().
For now this is disabled by default until:
- https://bugs.llvm.org/show_bug.cgi?id=33329 is complete
- Benchmarks show that this is always useful.
Differential Revision:
https://reviews.llvm.org/D33987
llvm-svn: 312315
|