Page MenuHomePhabricator

lebedev.ri (Roman Lebedev)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 27 2012, 6:35 AM (429 w, 1 d)

Recent Activity

Today

lebedev.ri added a comment to D93529: [GVN][BasicAA] Enable clobbering in GVN..

This should probably be split up into BasicAA (+unit test), MemoryDependenceAnalysis(?), and GVN patches.

Mon, Jan 18, 1:34 AM · Restricted Project

Sat, Jan 16

lebedev.ri committed rG32fc32317a31: [SimplifyCFG] markAliveBlocks(): catchswitch: preserve PostDomTree (authored by lebedev.ri).
[SimplifyCFG] markAliveBlocks(): catchswitch: preserve PostDomTree
Sat, Jan 16, 2:21 PM
lebedev.ri accepted D94870: [InstSimplify] Handle commutativity for 'and' and 'outer or' for (~A & B) | ~(A | B) --> ~A.
Sat, Jan 16, 10:33 AM · Restricted Project
lebedev.ri added a comment to D94870: [InstSimplify] Handle commutativity for 'and' and 'outer or' for (~A & B) | ~(A | B) --> ~A.

Please precommit tests.
This is more like it.

Sat, Jan 16, 9:47 AM · Restricted Project
lebedev.ri requested changes to D94851: [InstCombine] Don't transform (select c, ext(TI), ext(FI)) if ext is free.

InstCombine is a canonicalization pass, and by design it must not make use of TTI.
This should be fixed by a reverse transformation in backend.

Sat, Jan 16, 1:58 AM · Restricted Project

Fri, Jan 15

lebedev.ri requested review of D94827: [SimplifyCFG] Require and preserve dominator tree.
Fri, Jan 15, 2:29 PM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri committed rGa14c36fe27f5: [SimplifyCFG] switchToSelect(): don't forget to insert DomTree edge iff needed (authored by lebedev.ri).
[SimplifyCFG] switchToSelect(): don't forget to insert DomTree edge iff needed
Fri, Jan 15, 12:37 PM
lebedev.ri committed rGc6654a4cdab4: [SimplifyCFG][BasicBlockUtils] Port SplitBlockPredecessors… (authored by lebedev.ri).
[SimplifyCFG][BasicBlockUtils] Port SplitBlockPredecessors…
Fri, Jan 15, 12:37 PM
lebedev.ri committed rG286cf6cb029a: [SimplifyCFG] Port SplitBlockAndInsertIfThen() to DomTreeUpdater (authored by lebedev.ri).
[SimplifyCFG] Port SplitBlockAndInsertIfThen() to DomTreeUpdater
Fri, Jan 15, 12:37 PM
lebedev.ri committed rGc845c724c232: [Utils][SimplifyCFG] Port SplitBlock() to DomTreeUpdater (authored by lebedev.ri).
[Utils][SimplifyCFG] Port SplitBlock() to DomTreeUpdater
Fri, Jan 15, 12:37 PM
lebedev.ri committed rGb81f75fa7916: [Utils] splitBlockBefore() always operates on DomTreeUpdater, so take it, not… (authored by lebedev.ri).
[Utils] splitBlockBefore() always operates on DomTreeUpdater, so take it, not…
Fri, Jan 15, 12:37 PM
lebedev.ri committed rG61ec2280308b: [NFC][SimplifyCFG] Add testcase showing that we fail to preserve DomTree in… (authored by lebedev.ri).
[NFC][SimplifyCFG] Add testcase showing that we fail to preserve DomTree in…
Fri, Jan 15, 12:37 PM
lebedev.ri added inline comments to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument.
Fri, Jan 15, 12:14 PM · Restricted Project
lebedev.ri added a comment to D90448: [clang] Add type check for explicit instantiation of static data members.

Tests missing

Fri, Jan 15, 5:38 AM · Restricted Project
lebedev.ri added a comment to D94684: [InferAttrs] Mark some library functions as willreturn..

Seems about reasonable to me.

Fri, Jan 15, 1:27 AM · Restricted Project

Thu, Jan 14

lebedev.ri added a comment to D93779: ADT: Fix reference invalidation in SmallVector::push_back and single-element insert.

Why do we even want to bend over backwards and try to handle broken code correctly,
at the cost of regressed performance for everything,
instead of just adding defensive asserts against such problems,
and letting/telling the user fix the code?

Thu, Jan 14, 8:58 AM · Restricted Project

Wed, Jan 13

lebedev.ri added a comment to D94576: [LoopVectorize] Guard verifyFunction with EXPENSIVE_CHECKS macro.

So are the compilation time issues reproducible with vanilla llvm, or only in your local branch?
If latter, shouldn't the fix (which isn't hiding the verification under) belong to the branch?

Hi @lebedev.ri, the first profile is with the vanilla llvm.

That is what the message said yes.

Wed, Jan 13, 8:55 AM · Restricted Project
lebedev.ri added a comment to D94576: [LoopVectorize] Guard verifyFunction with EXPENSIVE_CHECKS macro.

So are the compilation time issues reproducible with vanilla llvm, or only in your local branch?
If latter, shouldn't the fix (which isn't hiding the verification under) belong to the branch?

Hi @lebedev.ri, the first profile is with the vanilla llvm.

Wed, Jan 13, 7:14 AM · Restricted Project
lebedev.ri updated subscribers of D94576: [LoopVectorize] Guard verifyFunction with EXPENSIVE_CHECKS macro.

(cc @spatel, re rG0aa75fb12faa04e07ba1a6e334605357b6a159c9)

Wed, Jan 13, 7:13 AM · Restricted Project
lebedev.ri added a comment to D94576: [LoopVectorize] Guard verifyFunction with EXPENSIVE_CHECKS macro.

So are the compilation time issues reproducible with vanilla llvm, or only in your local branch?
If latter, shouldn't the fix (which isn't hiding the verification under) belong to the branch?

Wed, Jan 13, 7:11 AM · Restricted Project
lebedev.ri added a comment to D94355: [SimplifyCFG] Add relative switch lookup tables.

Then, tangential question: shouldn't this simply be a separate transformation, to turn non-PIC-friendly (non-relative) LUT's into relative LUT's?

Thanks for the feedback. Do you suggest to implement this as an another optimization after SwitchToLookup in SimplifyCFG?

I'm not really sure where it would fit best. Assuming it doesn't require changing CFG
this might even be eligible for InstCombine, but adding it into simplifycfg is a safe bet i guess.

Wed, Jan 13, 1:27 AM · Restricted Project

Tue, Jan 12

lebedev.ri added inline comments to D94543: [DAGCombine] Optimize pow(X, (2/3)) and Pow(X,(3/2)).
Tue, Jan 12, 12:57 PM · Restricted Project
lebedev.ri added a comment to D93822: [clang][Sema] Add diagnostics for implicit widening of multiplication result.

@aaron.ballman thank you for taking a look!
@NoQ thank you for commenting.

Tue, Jan 12, 10:37 AM · Restricted Project, Restricted Project
lebedev.ri added a comment to D66571: [X86] Add a DAG combine to turn vector (and (srl X, ((1 << C1) - 1)), C2) into (srl (shl (X, C3), C4)) to save a constant pool for the AND mask.

I don't think I ever did anything more with this. @lebedev.ri did you want to pick this up?

Tue, Jan 12, 2:24 AM · Restricted Project
lebedev.ri added a comment to D94355: [SimplifyCFG] Add relative switch lookup tables.

Then, tangential question: shouldn't this simply be a separate transformation, to turn non-PIC-friendly (non-relative) LUT's into relative LUT's?

Tue, Jan 12, 2:16 AM · Restricted Project

Mon, Jan 11

lebedev.ri committed rG81afeacd379f: [SimplifyCFGPass] mergeEmptyReturnBlocks(): skip blocks scheduled for removal… (authored by lebedev.ri).
[SimplifyCFGPass] mergeEmptyReturnBlocks(): skip blocks scheduled for removal…
Mon, Jan 11, 3:10 PM
lebedev.ri committed rGec8a6c11db41: [SimplifyCFGPass] iterativelySimplifyCFG(): support lazy DomTreeUpdater (authored by lebedev.ri).
[SimplifyCFGPass] iterativelySimplifyCFG(): support lazy DomTreeUpdater
Mon, Jan 11, 3:10 PM
lebedev.ri committed rG90a92f8b4d78: [NFCI][Utils/Local] removeUnreachableBlocks(): cleanup support for lazy… (authored by lebedev.ri).
[NFCI][Utils/Local] removeUnreachableBlocks(): cleanup support for lazy…
Mon, Jan 11, 3:10 PM
lebedev.ri committed rGf9ba34770638: [SimplifyCFG] FoldValueComparisonIntoPredecessors(): don't insert a DomTree… (authored by lebedev.ri).
[SimplifyCFG] FoldValueComparisonIntoPredecessors(): don't insert a DomTree…
Mon, Jan 11, 3:10 PM
lebedev.ri committed rGc22bc5f1f8b2: [SimplifyCFG] SwitchToLookupTable(): don't insert a DomTree edge that already… (authored by lebedev.ri).
[SimplifyCFG] SwitchToLookupTable(): don't insert a DomTree edge that already…
Mon, Jan 11, 3:10 PM
lebedev.ri committed rGc0de0a1b72c0: [SimplifyCFG] SimplifyBranchOnICmpChain(): don't insert a DomTree edge that… (authored by lebedev.ri).
[SimplifyCFG] SimplifyBranchOnICmpChain(): don't insert a DomTree edge that…
Mon, Jan 11, 3:10 PM
lebedev.ri added a comment to D94014: [InstCombine] reduce icmp(ashr X, C1), C2 to sign-bit test.

Another way is to use assume to encode the precondition if you prefer: https://alive2.llvm.org/ce/z/__szVL

Thanks for the improved examples!

Mon, Jan 11, 9:40 AM · Restricted Project
lebedev.ri accepted D94014: [InstCombine] reduce icmp(ashr X, C1), C2 to sign-bit test.

Anyone see problems with this Alive2 implementation using count-leading-*?
https://alive2.llvm.org/ce/z/SWxadd

I also manually entered all of the i4 regression tests with fixed constants in Alive1 (rise4fun), and they appear to be correct as shown in the test diffs.

Mon, Jan 11, 8:52 AM · Restricted Project
lebedev.ri requested changes to D94014: [InstCombine] reduce icmp(ashr X, C1), C2 to sign-bit test.

Sorry for the delay.

Mon, Jan 11, 6:29 AM · Restricted Project

Sun, Jan 10

lebedev.ri added a comment to D93822: [clang][Sema] Add diagnostics for implicit widening of multiplication result.

Thank you for taking a look!

I would guess it doesn't meet the on-by-default bar we would prefer for Clang,

Yeah, based on my initial observations, it's pretty chatty.

but might still be OK.

I'm open to input here, but it would be good to have this at least in -Wextra (-Weverything always being a last resort option).

Yeah, not sure how @rsmith, @rtrieu, or @aaron.ballman feel about what the bar for warnings is these days - used to be a bit more hardcore about the "if it can't be on by default it shouldn't be in clang" than we are these days, I think. I'd guess -Wextra might be suitable.

Sun, Jan 10, 11:33 PM · Restricted Project, Restricted Project
lebedev.ri committed rG8e8d214c4a6c: [NFCI][SimplifyCFG] Prefer to add Insert edges before Delete edges into… (authored by lebedev.ri).
[NFCI][SimplifyCFG] Prefer to add Insert edges before Delete edges into…
Sun, Jan 10, 1:31 PM
lebedev.ri added a comment to D94367: [Clang][Driver] Add -ffinite-loops flags.

Thanks for putting up the patch!

I think the code here and D94366 could be simplified if we would introduce 2 codegen options to distinguish the differences between C and C++:

  • functions-must-progress=true/false: C++ behavior >= c++11; all threads must make forward progress, we should be able to mark all functions as mustprogress and there should be no need to mark the individual loops as mustprogress.
  • loops-must-progress=all/none/c11: all -> all loops are marked mustprogress, none -> no loops are marked, c11 -> all loops that do not match the C11 escape hatch are marked mustprogress.

Now

  • c++11 and above, functions-must-progress=true, loops-must-progress=none,
  • c11 and above functions-must-progress=false, loops-must-progress=c11,
  • -ffinite-loops -> loops-must-progress=all,
  • -fnofinite-loops -> , functions-must-progress=false, loops-must-progress=false

In CodeGen, we always add mustprogress to functions exactly if functions-must-progress=true. For loops, we could have a helper shouldMarkLoopAsMustProgress(bool C11Exception), which returns true depending on loops-must-progress and C11Exceptions, which the caller sets to true if the loop condition is one that is allowed for infinite loops in C11.

This should allow us to remove CGF::FnIsMustProgress and the code to update it; now either all functions have mustprogress or none have, depending on functions-must-progress. We still need CGLoopInfo::MustProgress, but we only need to update it depending on loops-must-progress,

I think this would overall simplify the handling in Codegen, but it's very possible that I am missing something from earlier discussions. I am also adding a few additional people who may have additional thought.

One things that's slightly odd with the proposal is that for C++, loops-must-progress would be none, which has the potential to be a bit confusing. We could make this clear in the documentation or just set it to all, although as I mentioned in the beginning, that should not really be necessary. It might be helpful/necessary if loops inlined from C++ function inside C functions should keep their mustprogress property.

Sun, Jan 10, 8:43 AM · Restricted Project
lebedev.ri removed a reviewer for D94372: [X86][AMX] Prohibit pointer cast on load.: lebedev.ri.

What specifically is having problems after that transformation?

Sun, Jan 10, 5:01 AM · Restricted Project
lebedev.ri requested changes to D94372: [X86][AMX] Prohibit pointer cast on load..
Sun, Jan 10, 4:59 AM · Restricted Project

Fri, Jan 8

lebedev.ri added a comment to D94355: [SimplifyCFG] Add relative switch lookup tables.

Why must values have pointer types?

Fri, Jan 8, 11:55 PM · Restricted Project
lebedev.ri added inline comments to rGd15d81ce15e0: [SimplifyCFG] FoldValueComparisonIntoPredecessors(): deal with each predecessor….
Fri, Jan 8, 4:19 AM

Thu, Jan 7

lebedev.ri updated the summary of D93822: [clang][Sema] Add diagnostics for implicit widening of multiplication result.
Thu, Jan 7, 3:18 PM · Restricted Project, Restricted Project
lebedev.ri committed rGf2f81c554b0d: [SimplifyCFG] markAliveBlocks(): switch to non-permissive DomTree updates (authored by lebedev.ri).
[SimplifyCFG] markAliveBlocks(): switch to non-permissive DomTree updates
Thu, Jan 7, 3:17 PM
lebedev.ri committed rGd59f97bb3a65: [SimplifyCFG] removeUnwindEdge(): switch to non-permissive DomTree updates (authored by lebedev.ri).
[SimplifyCFG] removeUnwindEdge(): switch to non-permissive DomTree updates
Thu, Jan 7, 3:16 PM
lebedev.ri committed rGf0eba8ce2d40: [SimplifyCFG] changeToCall(): switch to non-permissive DomTree updates (authored by lebedev.ri).
[SimplifyCFG] changeToCall(): switch to non-permissive DomTree updates
Thu, Jan 7, 3:16 PM
lebedev.ri committed rGbe0a31d13bcf: [SimplifyCFG] DeleteDeadBlocks(): switch to non-permissive DomTree updates (authored by lebedev.ri).
[SimplifyCFG] DeleteDeadBlocks(): switch to non-permissive DomTree updates
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG05adc73db053: [SimplifyCFG] changeToUnreachable(): switch to non-permissive DomTree updates (authored by lebedev.ri).
[SimplifyCFG] changeToUnreachable(): switch to non-permissive DomTree updates
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG66189212bbb0: [SimplifyCFG] MergeBlockIntoPredecessor(): switch to non-permissive DomTree… (authored by lebedev.ri).
[SimplifyCFG] MergeBlockIntoPredecessor(): switch to non-permissive DomTree…
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG6984781df9b5: [NFC][SimplifyCFG] Add a test with an undef cond branch to identical… (authored by lebedev.ri).
[NFC][SimplifyCFG] Add a test with an undef cond branch to identical…
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG7600d7c7be07: [SimplifyCFG] removeUnreachableBlocks(): switch to non-permissive DomTree… (authored by lebedev.ri).
[SimplifyCFG] removeUnreachableBlocks(): switch to non-permissive DomTree…
Thu, Jan 7, 3:16 PM
lebedev.ri committed rGf8875c313c38: [NFC][SimplifyCFG] Add test with an unreachable block with two identical… (authored by lebedev.ri).
[NFC][SimplifyCFG] Add test with an unreachable block with two identical…
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG1f9b591ee66f: [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock(): switch to non… (authored by lebedev.ri).
[SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock(): switch to non…
Thu, Jan 7, 3:16 PM
lebedev.ri committed rGb3822728fae2: [SimplifyCFG] ConstantFoldTerminator(): switch to non-permissive DomTree… (authored by lebedev.ri).
[SimplifyCFG] ConstantFoldTerminator(): switch to non-permissive DomTree…
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG8b9a0e6f7ed2: [NFC][SimlifyCFG] Add some indirectbr-of-blockaddress tests (authored by lebedev.ri).
[NFC][SimlifyCFG] Add some indirectbr-of-blockaddress tests
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG36593a30a40b: [SimplifyCFG] ConstantFoldTerminator(): switch to non-permissive DomTree… (authored by lebedev.ri).
[SimplifyCFG] ConstantFoldTerminator(): switch to non-permissive DomTree…
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG16ab8e5f6dbb: [SimplifyCFG] ConstantFoldTerminator(): handle matching destinations of condbr… (authored by lebedev.ri).
[SimplifyCFG] ConstantFoldTerminator(): handle matching destinations of condbr…
Thu, Jan 7, 3:16 PM
lebedev.ri committed rG087be536feab: [NFC][SimplifyCFG] Add a test with cond br on constant w/ identical destinations (authored by lebedev.ri).
[NFC][SimplifyCFG] Add a test with cond br on constant w/ identical destinations
Thu, Jan 7, 3:16 PM
lebedev.ri added a comment to D89697: * [x86] Implement smarter instruction lowering for FP_TO_UINT from vXf32 to vXi32 for SSE2 and AVX2 by using the exact semantic of the CVTTPS2SI instruction..

No regression appeared in our internal testcases.
It seems the transform is correct, have you verified it with alive-tv?

I was curious to see if I could model it:
https://alive2.llvm.org/ce/z/RXcYY9

Converting #x4f800000 (4294967296) to uint32_t is poison, not 0 though. Am I reading the Alive output correctly? (cc @lebedev.ri @aqjune @nlopes @nikic )

Thu, Jan 7, 10:38 AM · Restricted Project
lebedev.ri added inline comments to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument.
Thu, Jan 7, 9:32 AM · Restricted Project
lebedev.ri committed rG6be1fd6b20f3: [SimplifyCFG] FoldValueComparisonIntoPredecessors(): drop reachable errneous… (authored by lebedev.ri).
[SimplifyCFG] FoldValueComparisonIntoPredecessors(): drop reachable errneous…
Thu, Jan 7, 7:06 AM
lebedev.ri committed rG8dee0b4bd637: [llvm-reduce] ReduceGlobalVarInitializers delta pass: fix handling of globals… (authored by lebedev.ri).
[llvm-reduce] ReduceGlobalVarInitializers delta pass: fix handling of globals…
Thu, Jan 7, 7:05 AM
lebedev.ri added a comment to D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.

This seems to be missing test coverage.

Thu, Jan 7, 3:58 AM · Restricted Project
lebedev.ri added a comment to D93888: [GVN] If zext X == N or sext X == N, then X == trunc N..

For NewGVN and IPSCCP PredicateInfo would have to handle it, and I'm pretty sure we want to avoid that.

@nikic Would you mind explaining why? If there is a good reason we cannot do this in NewGVN then D93850 might be the best we could do.

Thu, Jan 7, 2:27 AM · Restricted Project

Tue, Jan 5

lebedev.ri committed rG0a87e53fc40f: [NFC][SimplifyCFG] Add a test where SimplifyEqualityComparisonWithOnlyPredecess… (authored by lebedev.ri).
[NFC][SimplifyCFG] Add a test where SimplifyEqualityComparisonWithOnlyPredecess…
Tue, Jan 5, 2:53 PM
lebedev.ri committed rGa14945c1db61: [SimplifyCFG] SimplifyEqualityComparisonWithOnlyPredecessor(): really don't… (authored by lebedev.ri).
[SimplifyCFG] SimplifyEqualityComparisonWithOnlyPredecessor(): really don't…
Tue, Jan 5, 2:53 PM
lebedev.ri committed rG2b437fcd479b: [SimplifyCFG] SwitchToLookupTable(): switch to non-permissive DomTree updates (authored by lebedev.ri).
[SimplifyCFG] SwitchToLookupTable(): switch to non-permissive DomTree updates
Tue, Jan 5, 2:53 PM
lebedev.ri added a comment to rG2d07414ee5f7: [SimplifyCFG] Teach simplifyUnreachable() to preserve DomTree.

Fixed by 29ca7d5a1ad968c371124b8d82edd8d91eee7b4f, thanks!

Tue, Jan 5, 2:53 PM
lebedev.ri committed rGfa5447aa3fec: [NFC][SimplifyCFG] SwitchToLookupTable(): pull out SI->getParent() into a… (authored by lebedev.ri).
[NFC][SimplifyCFG] SwitchToLookupTable(): pull out SI->getParent() into a…
Tue, Jan 5, 2:53 PM
lebedev.ri committed rGd15d81ce15e0: [SimplifyCFG] FoldValueComparisonIntoPredecessors(): deal with each predecessor… (authored by lebedev.ri).
[SimplifyCFG] FoldValueComparisonIntoPredecessors(): deal with each predecessor…
Tue, Jan 5, 2:53 PM
lebedev.ri committed rGfc96cb2dad6b: [SimplifyCFG] FoldValueComparisonIntoPredecessors(): switch to non-permissive… (authored by lebedev.ri).
[SimplifyCFG] FoldValueComparisonIntoPredecessors(): switch to non-permissive…
Tue, Jan 5, 2:53 PM
lebedev.ri committed rG29ca7d5a1ad9: [SimplifyCFG] simplifyUnreachable(): fix handling of degenerate same… (authored by lebedev.ri).
[SimplifyCFG] simplifyUnreachable(): fix handling of degenerate same…
Tue, Jan 5, 2:53 PM
lebedev.ri committed rG3460719f5835: [NFC][SimplifyCFG] Add a test with same-destination condidional branch (authored by lebedev.ri).
[NFC][SimplifyCFG] Add a test with same-destination condidional branch
Tue, Jan 5, 2:53 PM
lebedev.ri committed rGf98535686e3c: [SimplifyCFG] simplifyUnreachable(): switch to non-permissive DomTree updates (authored by lebedev.ri).
[SimplifyCFG] simplifyUnreachable(): switch to non-permissive DomTree updates
Tue, Jan 5, 2:53 PM
lebedev.ri requested changes to D94089: [Reassociate] move check to ignore boolean expressions before canonicalizing binary operands.

I do not understand the example in https://bugs.llvm.org/show_bug.cgi?id=48529
By "intent", are you saying that the canonicalization of commutative ops
is causing the code to be miscompiled, leading to different observable side-effects?

Tue, Jan 5, 8:34 AM · Restricted Project
lebedev.ri added a comment to rG2d07414ee5f7: [SimplifyCFG] Teach simplifyUnreachable() to preserve DomTree.

Hi!

Hi,

Tue, Jan 5, 2:46 AM

Mon, Jan 4

lebedev.ri committed rG32c47ebef18d: [SimplifyCFG] SimplifyCondBranchToTwoReturns(): switch to non-permissive… (authored by lebedev.ri).
[SimplifyCFG] SimplifyCondBranchToTwoReturns(): switch to non-permissive…
Mon, Jan 4, 2:27 PM
lebedev.ri committed rG110b3d7855ef: [SimplifyCFG] SimplifyEqualityComparisonWithOnlyPredecessor(): switch to non… (authored by lebedev.ri).
[SimplifyCFG] SimplifyEqualityComparisonWithOnlyPredecessor(): switch to non…
Mon, Jan 4, 2:27 PM
lebedev.ri committed rGa8604e3d5b71: [SimplifyCFG] simplifyIndirectBr(): switch to non-permissive DomTree updates (authored by lebedev.ri).
[SimplifyCFG] simplifyIndirectBr(): switch to non-permissive DomTree updates
Mon, Jan 4, 2:27 PM
lebedev.ri committed rGed9de61cc3e2: [SimplifyCFGPass] mergeEmptyReturnBlocks(): switch to non-permissive DomTree… (authored by lebedev.ri).
[SimplifyCFGPass] mergeEmptyReturnBlocks(): switch to non-permissive DomTree…
Mon, Jan 4, 2:27 PM
lebedev.ri committed rG3fb57222c4c0: [NFCI] SimplifyCFG: switch to non-permissive DomTree updates, where possible (authored by lebedev.ri).
[NFCI] SimplifyCFG: switch to non-permissive DomTree updates, where possible
Mon, Jan 4, 2:27 PM
lebedev.ri committed rGb4f519bddda8: [NFCI] DwarfEHPrepare: update DomTree in non-permissive mode, when present (authored by lebedev.ri).
[NFCI] DwarfEHPrepare: update DomTree in non-permissive mode, when present
Mon, Jan 4, 2:27 PM
lebedev.ri added inline comments to D94014: [InstCombine] reduce icmp(ashr X, C1), C2 to sign-bit test.
Mon, Jan 4, 10:02 AM · Restricted Project
lebedev.ri retitled D94015: [LoopIdiom] Replace cttz loop by call to cttz intrinsic. from [SCEV] Replace cttz loop by call to cttz intrinsic. to [LoopIdiom] Replace cttz loop by call to cttz intrinsic..
Mon, Jan 4, 9:55 AM · Restricted Project
lebedev.ri accepted D93684: [SimplifyCFG] Enabled hoisting late in LTO pipeline..

Looks good to me, thanks.

Mon, Jan 4, 4:11 AM · Restricted Project
lebedev.ri committed rG09b3f3f22cbe: [benchmark] Fixed a build error when using CMake 3.15.1 + NDK-R20 (authored by azhuang).
[benchmark] Fixed a build error when using CMake 3.15.1 + NDK-R20
Mon, Jan 4, 12:01 AM
lebedev.ri closed D93794: Fixed a build error when using CMake 3.15.1 + NDK-R20.
Mon, Jan 4, 12:01 AM · Restricted Project

Sun, Jan 3

lebedev.ri added a comment to D93794: Fixed a build error when using CMake 3.15.1 + NDK-R20.

I'm being dense here, sorry. I thought benchmark is usually built with -std=c++14,
but as per llvm-project/llvm/utils/benchmark/CMakeLists.txt, that is not the case.
So i'll just reland this.

Sun, Jan 3, 11:47 PM · Restricted Project
lebedev.ri committed rG98cd1c33e3c2: [NFC][SimplifyCFG] Hoist 'original' DomTree verification from simplifyOnce()… (authored by lebedev.ri).
[NFC][SimplifyCFG] Hoist 'original' DomTree verification from simplifyOnce()…
Sun, Jan 3, 2:03 PM
lebedev.ri committed rGa7684940f0e4: [SimplifyCFG] SimplifyTerminatorOnSelect(): fix/tune DomTree updates (authored by lebedev.ri).
[SimplifyCFG] SimplifyTerminatorOnSelect(): fix/tune DomTree updates
Sun, Jan 3, 2:03 PM
lebedev.ri committed rG70935b9595a4: [NFC][SimplifyCFG] SimplifyTerminatorOnSelect(): pull out OldTerm->getParent()… (authored by lebedev.ri).
[NFC][SimplifyCFG] SimplifyTerminatorOnSelect(): pull out OldTerm->getParent()…
Sun, Jan 3, 2:02 PM
lebedev.ri committed rG4fc908025fd0: [NFC][SimplifyCFG] Add a test where we fail to preserve DomTree validity (authored by lebedev.ri).
[NFC][SimplifyCFG] Add a test where we fail to preserve DomTree validity
Sun, Jan 3, 2:02 PM

Sat, Jan 2

lebedev.ri committed rG5fa241a6571c: [SimplifyCFG] FoldValueComparisonIntoPredecessors(): fine-tune/fix DomTree… (authored by lebedev.ri).
[SimplifyCFG] FoldValueComparisonIntoPredecessors(): fine-tune/fix DomTree…
Sat, Jan 2, 2:47 PM
lebedev.ri committed rGa0013934b6a1: [NFC][SimplifyCFG] Add another test for switch creation where we fail to… (authored by lebedev.ri).
[NFC][SimplifyCFG] Add another test for switch creation where we fail to…
Sat, Jan 2, 2:47 PM
lebedev.ri committed rGeda50309f593: [NFC][SimplifyCFG] Add test for switch creation where we fail to maintain… (authored by lebedev.ri).
[NFC][SimplifyCFG] Add test for switch creation where we fail to maintain…
Sat, Jan 2, 2:47 PM
lebedev.ri committed rG6a3a8d17ebae: [SimplifyCFG] FoldValueComparisonIntoPredecessors(): fine-tune/fix DomTree… (authored by lebedev.ri).
[SimplifyCFG] FoldValueComparisonIntoPredecessors(): fine-tune/fix DomTree…
Sat, Jan 2, 2:47 PM
lebedev.ri committed rG19ab1817b61d: [llvm-reduce] Fix removal of unused llvm intrinsics declarations (authored by lebedev.ri).
[llvm-reduce] Fix removal of unused llvm intrinsics declarations
Sat, Jan 2, 2:47 PM
lebedev.ri committed rG5799fc79c3fd: [llvm-reduce] Refactor global variable delta pass (authored by lebedev.ri).
[llvm-reduce] Refactor global variable delta pass
Sat, Jan 2, 2:47 PM
lebedev.ri committed rG7c8b8063b66c: [SimplifyCFG][AMDGPU] AMDGPUUnifyDivergentExitNodes: SimplifyCFG isn't ready to… (authored by lebedev.ri).
[SimplifyCFG][AMDGPU] AMDGPUUnifyDivergentExitNodes: SimplifyCFG isn't ready to…
Sat, Jan 2, 2:46 PM
lebedev.ri committed rGb9da488ad729: [SimplifyCFG] Don't actually take DomTreeUpdater unless we intend to maintain… (authored by lebedev.ri).
[SimplifyCFG] Don't actually take DomTreeUpdater unless we intend to maintain…
Sat, Jan 2, 3:59 AM
lebedev.ri committed rGf4ea21947d90: [NFCI][CodeGen] DwarfEHPrepare: don't actually pass DTU into simplifyCFG by… (authored by lebedev.ri).
[NFCI][CodeGen] DwarfEHPrepare: don't actually pass DTU into simplifyCFG by…
Sat, Jan 2, 3:59 AM