11 Commits

Author SHA1 Message Date
Nikita Popov
07b9d231ff [SimplifyCFG] Regenerate test checks (NFC)
The output for many of these slightly changed (mainly due to
switch indentation), so mass-regenerate them.
2024-06-05 17:06:25 +02:00
Roman Lebedev
fbcefff9d0
Revert "[SimplifyCFG] When eliminating unreachable landing pads, mark calls as nounwind"
The bool is in the wrong place and might get implicitly converted from
the previous second argument - a pointer. Thinking about it more,
it's not really the best place for that functionality anyways,
only a single caller needs that.

This reverts commit 3c5b1f2d94d021005ce3769a4402d4a4ae843989.
2023-01-13 01:18:56 +03:00
Roman Lebedev
3c5b1f2d94
[SimplifyCFG] When eliminating unreachable landing pads, mark calls as nounwind
We really can't recover that knowledge, and `nounwind` knowledge,
(and not just a lack of the unwind edge, aka `call` instead of `invoke`),
is e.g. part of the reasoning in e.g. `mayHaveSideEffects()`.

Note that this is call-site-specific knowledge,
just because some callsite had an `unreachable`
unwind edge, does not mean that all will.
2023-01-13 00:41:58 +03:00
Roman Lebedev
a5c23d5584
[NFC][SimplifyCFG] Autogenerate checklines in some tests that eliminate unwind edges 2023-01-13 00:41:58 +03:00
Nikita Popov
8979ae4276 [SimplifyCFG] Convert tests to opaque pointers (NFC) 2022-12-14 15:14:12 +01:00
Roman Lebedev
d1d1293569
[NFC] Port all runlines for SimplifyCFG pass tests to -passes syntax 2022-12-05 21:12:20 +03:00
Roman Lebedev
7dd8f98a68
[NFC][SimplifyCFG] Autogenerate checklines in a few tests 2021-07-02 22:35:24 +03:00
Roman Lebedev
2d07414ee5
[SimplifyCFG] Teach simplifyUnreachable() to preserve DomTree
Pretty boring, removeUnwindEdge() already known how to update DomTree,
so if we are to call it, we must first flush our own pending updates;
otherwise, we just stop predecessors from branching to us,
and for certain predecessors, stop their predecessors from
branching to them also.
2020-12-18 00:37:22 +03:00
Eric Christopher
cee313d288 Revert "Temporarily Revert "Add basic loop fusion pass.""
The reversion apparently deleted the test/Transforms directory.

Will be re-reverting again.

llvm-svn: 358552
2019-04-17 04:52:47 +00:00
Eric Christopher
a863435128 Temporarily Revert "Add basic loop fusion pass."
As it's causing some bot failures (and per request from kbarton).

This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda.

llvm-svn: 358546
2019-04-17 02:12:23 +00:00
Joseph Tremoulet
0d808888c1 [WinEH] Simplify unreachable catchpads
Summary:
At least for CoreCLR, a catchpad which immediately executes an
`unreachable` instruction indicates that the exception can never have a
matching type, and so such catchpads can be removed, and so can their
catchswitches if the catchswitch becomes empty.

Reviewers: rnk, andrew.w.kaylor, majnemer

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D15846

llvm-svn: 256809
2016-01-05 02:37:41 +00:00