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 (333 w, 5 d)

Recent Activity

Today

lebedev.ri added inline comments to D59650: [NFC] ExceptionEscapeCheck: small refactoring .
Thu, Mar 21, 2:36 PM · Restricted Project, Restricted Project
lebedev.ri updated the diff for D59650: [NFC] ExceptionEscapeCheck: small refactoring .

Keep templated function out of the public interface.

Thu, Mar 21, 2:35 PM · Restricted Project, Restricted Project
lebedev.ri updated the diff for D59466: [clang-tidy] openmp-exception-escape - a new check.

Rebased for D59650 changes, NFC.

Thu, Mar 21, 2:35 PM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added a comment to D59650: [NFC] ExceptionEscapeCheck: small refactoring .

Why not having normal overloads? The analysis for Stmt is implemented with the private methods. Explicit template specialization is a bit overkill and so easily understood (but not too complex in this case either).l

Thu, Mar 21, 1:38 PM · Restricted Project, Restricted Project
lebedev.ri added a comment to D47735: [DAGCombiner] Create rotates more aggressively.

I have a question: why do we want to do this here, in the backend?
Does back-end itself create these patterns?
Now that we have funnel-shift, we really really should be doing this in the middle-end.
In particular, yes, the reassoc pass may need some work. That did come up previously.

Thu, Mar 21, 10:23 AM · Restricted Project
lebedev.ri added a comment to D47735: [DAGCombiner] Create rotates more aggressively.

Oof, I somehow missed the comments... :o

Committed the test cases (with checks against current trunk) in r356683.

Thu, Mar 21, 10:16 AM · Restricted Project
lebedev.ri accepted D59006: [x86] improve the default expansion of uaddsat/usubsat.

This LG, but i'm not sure i understand how this is related to D59066?
Here, we are clearly end up with no select in ASM.
But in D59066 we expand to this pattern.
So there is something else that is able to do the transform that we do manually in D59066?
Should D59066 be doing something else to simply trigger the existing transform?

Thu, Mar 21, 10:14 AM · Restricted Project
lebedev.ri added a comment to D59539: [llvm-exegesis] Option to lobotomize dbscan (PR40880).
Thu, Mar 21, 10:03 AM · Restricted Project
lebedev.ri added a parent revision for D59466: [clang-tidy] openmp-exception-escape - a new check: D59650: [NFC] ExceptionEscapeCheck: small refactoring .
Thu, Mar 21, 9:37 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added a child revision for D59650: [NFC] ExceptionEscapeCheck: small refactoring : D59466: [clang-tidy] openmp-exception-escape - a new check.
Thu, Mar 21, 9:37 AM · Restricted Project, Restricted Project
lebedev.ri updated the diff for D59466: [clang-tidy] openmp-exception-escape - a new check.

Rebased, NFC.
Split base ExceptionEscapeCheck refactoring into D59650.

Thu, Mar 21, 9:36 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D57571: [clang-tidy] A new OpenMP module.

Rebased, NFC.

Thu, Mar 21, 9:36 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D57113: [clang-tidy] openmp-use-default-none - a new check.

Rebased, NFC.

Thu, Mar 21, 9:36 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri created D59650: [NFC] ExceptionEscapeCheck: small refactoring .
Thu, Mar 21, 9:27 AM · Restricted Project, Restricted Project
lebedev.ri committed rG7028cedafe01: [AST] OMPStructuredBlockTest: two matchers were promoted into ASTMatchers.h (authored by lebedev.ri).
[AST] OMPStructuredBlockTest: two matchers were promoted into ASTMatchers.h
Thu, Mar 21, 8:54 AM
lebedev.ri committed rG408eb44f4931: [ASTMatcher] Add clang-query disclaimer to two more matchers that take enum (authored by lebedev.ri).
[ASTMatcher] Add clang-query disclaimer to two more matchers that take enum
Thu, Mar 21, 8:34 AM
lebedev.ri committed rGc816195759aa: [ASTMatchers][OpenMP] OpenMP Structured-block-related matchers (authored by lebedev.ri).
[ASTMatchers][OpenMP] OpenMP Structured-block-related matchers
Thu, Mar 21, 8:34 AM
lebedev.ri committed rG33ef20ec2f13: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling (authored by lebedev.ri).
[ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling
Thu, Mar 21, 8:33 AM
lebedev.ri committed rGde0e4ae024ec: [ASTMatchers][OpenMP] Add base ompExecutableDirective() matcher. (authored by lebedev.ri).
[ASTMatchers][OpenMP] Add base ompExecutableDirective() matcher.
Thu, Mar 21, 8:33 AM
lebedev.ri added inline comments to D59463: [ASTMatchers][OpenMP] OpenMP Structured-block-related matchers.
Thu, Mar 21, 8:16 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D59463: [ASTMatchers][OpenMP] OpenMP Structured-block-related matchers.

Last nit.

Thu, Mar 21, 8:16 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added a comment to D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.

LGTM

Thu, Mar 21, 8:11 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added inline comments to D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.
Thu, Mar 21, 8:11 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.

Comment nit.

Thu, Mar 21, 8:07 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.

Address @aaron.ballman comment nit.

Thu, Mar 21, 7:34 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added a comment to D59463: [ASTMatchers][OpenMP] OpenMP Structured-block-related matchers.

@gribozavr thank you for the review!
@aaron.ballman any comments?

Thu, Mar 21, 7:15 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added a comment to D59453: [ASTMatchers][OpenMP] Add base ompExecutableDirective() matcher..

@aaron.ballman @gribozavr thank you for the review!

Thu, Mar 21, 7:15 AM · Restricted Project, Restricted Project
lebedev.ri added a comment to D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.

@gribozavr thank you for the review!
@aaron.ballman any further comments?

Thu, Mar 21, 7:15 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D59463: [ASTMatchers][OpenMP] OpenMP Structured-block-related matchers.

Rebased, addressed all(?) nits.

Thu, Mar 21, 6:45 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added inline comments to D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.
Thu, Mar 21, 6:45 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.

Rebased, addressed all(?) nits.

Thu, Mar 21, 6:45 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D59453: [ASTMatchers][OpenMP] Add base ompExecutableDirective() matcher..

Rebased, addressed nits.

Thu, Mar 21, 6:45 AM · Restricted Project, Restricted Project
lebedev.ri accepted D59617: [ValueTracking] Use ConstantRange based overflow check for signed sub.

LG

Thu, Mar 21, 5:34 AM · Restricted Project
lebedev.ri added inline comments to D59473: [ValueTracking] Avoid redundant known bits calculation in computeOverflowForSignedAdd().
Thu, Mar 21, 5:30 AM · Restricted Project
lebedev.ri added inline comments to D59506: [ValueTracking][InstSimplify] Support min/max selects in computeConstantRange().
Thu, Mar 21, 5:28 AM · Restricted Project

Yesterday

lebedev.ri added a reviewer for D59609: [clang][OpenMP] Fix build when using libgomp: ABataev.

Interesting.
What happens if libomp is not being built?
What happens if libomp is not present?

Wed, Mar 20, 1:36 PM · Restricted Project
lebedev.ri committed rG8e0b2fb9fa0f: [NFC][ASTMatchers] Alphabetically sort REGISTER_MATCHER() macros in… (authored by lebedev.ri).
[NFC][ASTMatchers] Alphabetically sort REGISTER_MATCHER() macros in…
Wed, Mar 20, 10:15 AM
lebedev.ri committed rG94ff636a5c0e: [AST] Disable ast-dump-openmp-parallel-master-XFAIL.c test (authored by lebedev.ri).
[AST] Disable ast-dump-openmp-parallel-master-XFAIL.c test
Wed, Mar 20, 10:15 AM
lebedev.ri committed rGb570060fd847: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563) (authored by lebedev.ri).
[clang][OpeMP] Model OpenMP structured-block in AST (PR40563)
Wed, Mar 20, 9:33 AM
lebedev.ri committed rGfdb3d9b8d6b2: [NFC][clang][astdump] Some baseline tests for OpenMP (authored by lebedev.ri).
[NFC][clang][astdump] Some baseline tests for OpenMP
Wed, Mar 20, 9:33 AM
lebedev.ri updated the diff for D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).

Few last nits.

Wed, Mar 20, 8:49 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added inline comments to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).
Wed, Mar 20, 8:49 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added inline comments to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).
Wed, Mar 20, 7:39 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri updated the diff for D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).

Addressed all nits excluding the removal of multiline string literals.

Wed, Mar 20, 7:39 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added a comment to D59539: [llvm-exegesis] Option to lobotomize dbscan (PR40880).

This may or may not be a correct implementation of dbscan clustering algorithm.

Yes, that's what we want. This really is one cluster.

Yes, i do think that is the correct implementation of the algorithm.

Wed, Mar 20, 5:28 AM · Restricted Project
lebedev.ri added inline comments to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).
Wed, Mar 20, 4:08 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added a comment to D59577: [SelectionDAG] Add scalarization of ABS node..

Needs vector tests, to show that the issue is fixed.

Ok! What's the best way for test, unittest only for scalarization of vector ABS node or system test for code generation for every architecture?

Wed, Mar 20, 1:12 AM · Restricted Project
lebedev.ri added a comment to D59577: [SelectionDAG] Add scalarization of ABS node..

Needs vector tests, to show that the issue is fixed.

Wed, Mar 20, 12:16 AM · Restricted Project
lebedev.ri added inline comments to D59500: [ConstantFolding] Fix GetConstantFoldFPValue to avoid cast overflow..
Wed, Mar 20, 12:14 AM · Restricted Project
lebedev.ri added a comment to D59135: Add check for matching HeaderFilter before emitting Diagnostic.

Sorry for delay. I am currently not able to build master (Error: "sort" is not a member of "llvm").
And if I try to build 6.0.1-rc3 I can build clang-tidy but I am not able to build corresponding unittests "ClangTidyTests".
I will try to solve as soon as possible.

Wed, Mar 20, 12:11 AM · Restricted Project

Tue, Mar 19

lebedev.ri accepted D59563: [ValueTracking] Compute range for abs without nsw.

Actually, i haven't fully noticed that there was that second test.
Looks good then modulo comment nit.

Tue, Mar 19, 2:49 PM · Restricted Project
lebedev.ri added inline comments to D59563: [ValueTracking] Compute range for abs without nsw.
Tue, Mar 19, 2:26 PM · Restricted Project
lebedev.ri added a comment to D59500: [ConstantFolding] Fix GetConstantFoldFPValue to avoid cast overflow..

The problem is only reported by ubsan (undefined behavior sanitizer). My test case produces a value of 1.27e+80, which is a value between max(float) and max(double). Without ubsan, llvm opt (compiled with clang for x86) produces the correct result silently. However, since (float)the-double-value has undefined behavior by c++ language, there is no guarantee that the llvm opt produced by any compiler for any platform produces the same result. Do you have suggestion on what is a better test case?

Tue, Mar 19, 1:51 PM · Restricted Project
lebedev.ri added inline comments to D59506: [ValueTracking][InstSimplify] Support min/max selects in computeConstantRange().
Tue, Mar 19, 1:19 PM · Restricted Project
lebedev.ri added inline comments to D59506: [ValueTracking][InstSimplify] Support min/max selects in computeConstantRange().
Tue, Mar 19, 12:16 PM · Restricted Project
lebedev.ri added a reviewer for D59539: [llvm-exegesis] Option to lobotomize dbscan (PR40880): gchatelet.
Tue, Mar 19, 11:58 AM · Restricted Project
lebedev.ri added inline comments to D59506: [ValueTracking][InstSimplify] Support min/max selects in computeConstantRange().
Tue, Mar 19, 11:27 AM · Restricted Project
lebedev.ri added a comment to D59471: [InstCombine] Fold add nuw + uadd.with.overflow.

I agree, the duplication doesn't look nice.
It may indeed be better to condense the cases,
and have a standalone switch for more specific opts
that will come up in the future,

Tue, Mar 19, 11:15 AM · Restricted Project
lebedev.ri added inline comments to D59500: [ConstantFolding] Fix GetConstantFoldFPValue to avoid cast overflow..
Tue, Mar 19, 9:18 AM · Restricted Project
lebedev.ri added a comment to D59466: [clang-tidy] openmp-exception-escape - a new check.

Great work! Thank you! I only have minor comment: did you consider moving the refactoring of ExceptionAnalyzer into a separate (prerequisite) patch?

Tue, Mar 19, 7:40 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added inline comments to D58712: Changes for Installing SwiftPM for Apple Swift 5 Toolchain on PowerPC64LE.
Tue, Mar 19, 6:03 AM · Restricted Project
lebedev.ri changed the repository for D59539: [llvm-exegesis] Option to lobotomize dbscan (PR40880) from rLLDB LLDB to rL LLVM.
Tue, Mar 19, 3:43 AM · Restricted Project
lebedev.ri removed a project from D59539: [llvm-exegesis] Option to lobotomize dbscan (PR40880): Restricted Project.
Tue, Mar 19, 3:42 AM · Restricted Project
lebedev.ri created D59539: [llvm-exegesis] Option to lobotomize dbscan (PR40880).
Tue, Mar 19, 3:42 AM · Restricted Project
lebedev.ri added inline comments to D59535: [SelectionDAG] Compute known bits of CopyFromReg.
Tue, Mar 19, 1:27 AM · Restricted Project
lebedev.ri added reviewers for D59535: [SelectionDAG] Compute known bits of CopyFromReg: craig.topper, RKSimon.
Tue, Mar 19, 1:23 AM · Restricted Project
lebedev.ri accepted D59471: [InstCombine] Fold add nuw + uadd.with.overflow.

Looks reasonable, but maybe wait for @nikic / @spatel.

Tue, Mar 19, 12:22 AM · Restricted Project
lebedev.ri accepted D59386: [ValueTracking] ConstantRange based overflow detection for unsigned add/sub.

Hmm, this looks reasonable to me

Tue, Mar 19, 12:18 AM · Restricted Project

Mon, Mar 18

lebedev.ri added inline comments to D59443: Remove the outdated ThreadLocal class in favor of C++ thread_local..
Mon, Mar 18, 2:02 PM · Restricted Project
lebedev.ri added inline comments to D59509: Make static constructors + destructors minsize + cold (except for in -O0).
Mon, Mar 18, 1:57 PM · Restricted Project
lebedev.ri accepted D59511: [ValueTracking][InstSimplify] Move abs handling into computeConstantRange(); NFC.

LG as NFC preparation for D59506.

Mon, Mar 18, 1:52 PM · Restricted Project
lebedev.ri accepted D59506: [ValueTracking][InstSimplify] Support min/max selects in computeConstantRange().

Nice, no performance concerns anymore, looks reasonable to me.

Mon, Mar 18, 1:51 PM · Restricted Project
lebedev.ri added inline comments to D59506: [ValueTracking][InstSimplify] Support min/max selects in computeConstantRange().
Mon, Mar 18, 1:29 PM · Restricted Project
lebedev.ri added inline comments to D59472: [InstCombine] Add tests for add nuw + uaddo.
Mon, Mar 18, 1:03 PM · Restricted Project
lebedev.ri added inline comments to D59506: [ValueTracking][InstSimplify] Support min/max selects in computeConstantRange().
Mon, Mar 18, 12:58 PM · Restricted Project
lebedev.ri added a comment to D59500: [ConstantFolding] Fix GetConstantFoldFPValue to avoid cast overflow..

Test?

Mon, Mar 18, 10:34 AM · Restricted Project
lebedev.ri added inline comments to D59363: [SelectionDAG] Add icmp UNDEF handling to SelectionDAG::FoldSetCC.
Mon, Mar 18, 8:13 AM · Restricted Project
lebedev.ri added inline comments to D59363: [SelectionDAG] Add icmp UNDEF handling to SelectionDAG::FoldSetCC.
Mon, Mar 18, 7:43 AM · Restricted Project
lebedev.ri added a comment to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).

Before i do address any further bike^W review notes in other
reviews in this path stack, i want to finish with this review.
If this change doesn't stick, rest is pointless waste of everyone's time.

Mon, Mar 18, 6:59 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri committed rG23629385f10d: [llvm-exegesis] Separate tool options into three categories. (authored by lebedev.ri).
[llvm-exegesis] Separate tool options into three categories.
Mon, Mar 18, 4:32 AM
lebedev.ri added inline comments to D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.
Mon, Mar 18, 4:08 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added inline comments to D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.
Mon, Mar 18, 3:45 AM · Restricted Project, Restricted Project, Restricted Project
lebedev.ri added inline comments to D57112: [ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling.
Mon, Mar 18, 3:21 AM · Restricted Project, Restricted Project, Restricted Project

Sun, Mar 17

lebedev.ri added inline comments to D59473: [ValueTracking] Avoid redundant known bits calculation in computeOverflowForSignedAdd().
Sun, Mar 17, 3:16 PM · Restricted Project
lebedev.ri added inline comments to D59473: [ValueTracking] Avoid redundant known bits calculation in computeOverflowForSignedAdd().
Sun, Mar 17, 2:57 PM · Restricted Project
lebedev.ri added a reviewer for D59473: [ValueTracking] Avoid redundant known bits calculation in computeOverflowForSignedAdd(): craig.topper.
Sun, Mar 17, 2:55 PM · Restricted Project
lebedev.ri added a comment to D59467: [clang] Adding the Likely Attribute from C++2a to AST.

if likely/unlikely can be applied to any statement or label what should be generated when it is applied to a statement that don't have any conditional branch ? should it be ignored without warning or error ?

Sun, Mar 17, 2:51 PM · Restricted Project
lebedev.ri added a comment to D59467: [clang] Adding the Likely Attribute from C++2a to AST.
Sun, Mar 17, 2:42 PM · Restricted Project
lebedev.ri added inline comments to D59475: [ConstantRange] Add fromKnownBits() method.
Sun, Mar 17, 2:42 PM · Restricted Project
lebedev.ri added inline comments to D59473: [ValueTracking] Avoid redundant known bits calculation in computeOverflowForSignedAdd().
Sun, Mar 17, 2:21 PM · Restricted Project
lebedev.ri accepted D59450: [ValueTracking] Use ConstantRange overflow check for signed add (NFC).

Looks good as a NFC to me.

Sun, Mar 17, 1:54 PM · Restricted Project
lebedev.ri added a comment to D59450: [ValueTracking] Use ConstantRange overflow check for signed add (NFC).

Almost there ...

Sun, Mar 17, 1:39 PM · Restricted Project
lebedev.ri added inline comments to D59475: [ConstantRange] Add fromKnownBits() method.
Sun, Mar 17, 1:30 PM · Restricted Project
lebedev.ri accepted D59475: [ConstantRange] Add fromKnownBits() method.

LGTM, nice, thank you very much!

Sun, Mar 17, 1:15 PM · Restricted Project
lebedev.ri added inline comments to D59472: [InstCombine] Add tests for add nuw + uaddo.
Sun, Mar 17, 12:27 PM · Restricted Project
lebedev.ri added a comment to D59467: [clang] Adding the Likely Attribute from C++2a to AST.

i added tests as you requested. i didn't add test for the codegen as it wasn't affected.

Sun, Mar 17, 12:12 PM · Restricted Project
lebedev.ri accepted D59476: [InstCombine] Improve with.overflow intrinsic tests.

This is NFC, no real need for review.

Sun, Mar 17, 12:07 PM · Restricted Project
lebedev.ri added a comment to D59475: [ConstantRange] Add fromKnownBits() method.

Would it be possible/reasonable to also add exaustive tests?

Sun, Mar 17, 11:54 AM · Restricted Project
lebedev.ri accepted D59472: [InstCombine] Add tests for add nuw + uaddo.

LG

Sun, Mar 17, 10:28 AM · Restricted Project
lebedev.ri added a comment to D59472: [InstCombine] Add tests for add nuw + uaddo.

@lebedev.ri Both of your comments would also be valid for the tests for D58881. Should I update the tests there too?

Sun, Mar 17, 9:41 AM · Restricted Project