The idea is fairly straight forward. The primary advantage of this simplification is that it can cause parts of the CFG to become unreachable. See the fifth test case as an example.
Chad
Paths
| Differential D35856
[InlineCost] Simplify more 'and' and 'or' operations. ClosedPublic Authored by mcrosier on Jul 25 2017, 2:13 PM.
Details Summary The idea is fairly straight forward. The primary advantage of this simplification is that it can cause parts of the CFG to become unreachable. See the fifth test case as an example. Chad
Diff Detail Event Timelinemcrosier retitled this revision from [InlineCost] Simplify logical 'and' and 'or' operations. to [InlineCost] Simplify more 'and' and 'or' operations.. Comment ActionsAddress Geoff's offline comments. mcrosier marked an inline comment as done. Comment ActionsUpdate comments and minor formatting improvements. Comment Actions LGTM It'd be nice if we could enhance the generic code to handle this and other fundamental identities, but still, seems fine and plugs a hole. This revision is now accepted and ready to land.Aug 1 2017, 2:53 PM Closed by commit rL309817: [InlineCost] Simplify more 'and' and 'or' operations. (authored by mcrosier). · Explain WhyAug 2 2017, 7:41 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 108161 lib/Analysis/InlineCost.cpp
test/Transforms/Inline/AArch64/logical-and-or.ll
|
The isIntegerTy(1) check seems unnecessary.