Page MenuHomePhabricator

sepavloff (Serge Pavlov)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 13 2013, 7:26 AM (344 w, 2 d)

Recent Activity

Thu, Oct 10

sepavloff committed rL374508: Request commit access for sepavloff.
Request commit access for sepavloff
Thu, Oct 10, 9:00 PM

Wed, Oct 2

sepavloff committed rG110a24fb44cf: Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON` (authored by sepavloff).
Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON`
Wed, Oct 2, 9:52 PM
sepavloff committed rL373565: Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON`.
Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON`
Wed, Oct 2, 9:52 PM
sepavloff closed D66981: Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON`.
Wed, Oct 2, 9:52 PM · Restricted Project, Restricted Project

Sat, Sep 28

sepavloff committed rG4bc056271992: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT` (authored by sepavloff).
Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`
Sat, Sep 28, 5:20 AM
sepavloff committed rL373147: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`.
Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`
Sat, Sep 28, 5:20 AM
sepavloff closed D66834: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`.
Sat, Sep 28, 5:20 AM · Restricted Project, Restricted Project

Fri, Sep 27

sepavloff accepted D66834: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`.

I think that this is pretty easy to forget. Fortunately, last argument wins. Why not sink this into the %clang substitution in lit? That ensures that we run with an empty sysroot and then when the test needs to adjust the sysroot, it can do so explicitly.

I've just tried to do it, but unfortunately some tests are failing, for example, Driver/cc1-response-files.c. The problem is that %clang is expanded to /path/to/clang --sysroot=, but the succeeding flags (such as -cc1) may be incompatible with --sysroot.

Does the issue manifests itself with -cc1 only? We usually use %clang_cc1 in such cases, so probably those tests require update.

Some Driver tests take a list of arguments from a file (for example clang/test/Driver/cc1-response-files.c), so we probably cannot use %clang_cc1 there

Fri, Sep 27, 7:48 AM · Restricted Project, Restricted Project

Thu, Sep 26

sepavloff added a comment to D66834: Driver tests: set `--sysroot=""` to support clang with `DEFAULT_SYSROOT`.

I think that this is pretty easy to forget. Fortunately, last argument wins. Why not sink this into the %clang substitution in lit? That ensures that we run with an empty sysroot and then when the test needs to adjust the sysroot, it can do so explicitly.

I've just tried to do it, but unfortunately some tests are failing, for example, Driver/cc1-response-files.c. The problem is that %clang is expanded to /path/to/clang --sysroot=, but the succeeding flags (such as -cc1) may be incompatible with --sysroot.

Thu, Sep 26, 9:03 PM · Restricted Project, Restricted Project

Sep 17 2019

sepavloff updated the diff for D67626: [IR] Merge metadata manipulation code into Value.

Restrict types allowed to have metadata

Sep 17 2019, 8:42 AM · Restricted Project

Sep 16 2019

sepavloff created D67626: [IR] Merge metadata manipulation code into Value.
Sep 16 2019, 9:33 AM · Restricted Project

Aug 16 2019

sepavloff added inline comments to D65997: Add options rounding and exceptions to pragma fp.
Aug 16 2019, 12:09 AM · Restricted Project

Aug 15 2019

sepavloff added a comment to D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions.

The thing that makes the IR semantically incomplete is that there is nothing there to prevent incorrect code motion of the non-constrained operations. Consider this case:

if (someCondition) {
  #pragma clang fp rounding(downward)
  fesetround(FE_DOWNWARD);
  x = y/z;
  fesetround(FE_TONEAREST);
}
a = b/c;

If you generate a regular fdiv instruction for the 'a = b/c;' statement, there is nothing that would prevent it from being hoisted above the call to fesetround() and so it might be rounded incorrectly.

Aug 15 2019, 11:00 PM · Restricted Project
sepavloff added a comment to D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions.
In D66092#1625380, @kpn wrote:

Also, if any constrained intrinsics are used in a function then the entire function needs to be constrained. Is this handled anywhere?

If we decided to make the entire function constrained, it should be done somewhere in IR transformations, because inlining may mix function bodies with different fp options.

Kevin is right. We have decided that if constrained intrinsics are used anywhere in a function they must be used throughout the function. Otherwise, there would be nothing to prevent the non-constrained FP operations from migrating across constrained operations and the handling could get botched. The "relaxed" arguments ("round.tonearest" and "fpexcept.ignore") should be used where the default settings would apply. The front end should also be setting the "strictfp" attribute on calls within a constrained scope and, I think, functions that contain constrained intrinsics.

We will need to teach the inliner to enforce this rule if it isn't already doing so, but if things aren't correct coming out of the front end an incorrect optimization could already happen before we get to the inliner. We always rely on the front end producing IR with fully correct semantics.

Aug 15 2019, 1:39 AM · Restricted Project
sepavloff added inline comments to D65997: Add options rounding and exceptions to pragma fp.
Aug 15 2019, 12:10 AM · Restricted Project

Aug 14 2019

sepavloff added inline comments to D66078: Added RAII object for authomatic restore of fp state.
Aug 14 2019, 11:58 PM · Restricted Project
sepavloff updated the diff for D66078: Added RAII object for authomatic restore of fp state.

Updated patch

Aug 14 2019, 11:56 PM · Restricted Project
sepavloff added inline comments to D65997: Add options rounding and exceptions to pragma fp.
Aug 14 2019, 8:40 AM · Restricted Project
sepavloff updated the diff for D65997: Add options rounding and exceptions to pragma fp.

Updated patch

Aug 14 2019, 8:40 AM · Restricted Project

Aug 13 2019

sepavloff added a comment to D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions.
In D66092#1625380, @kpn wrote:

Does this work for anything that uses TreeTransform, like C++ templates?

Added such tests.

Aug 13 2019, 9:38 AM · Restricted Project
sepavloff updated the diff for D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions.

Added tests for 'pragma clang fp' in template instantiations

Aug 13 2019, 9:34 AM · Restricted Project
sepavloff added inline comments to D66078: Added RAII object for authomatic restore of fp state.
Aug 13 2019, 8:54 AM · Restricted Project

Aug 12 2019

sepavloff committed rG2a09b9acfb6f: Added unit tests to check supported rounding modes (authored by sepavloff).
Added unit tests to check supported rounding modes
Aug 12 2019, 10:22 PM
sepavloff committed rL368650: Added unit tests to check supported rounding modes.
Added unit tests to check supported rounding modes
Aug 12 2019, 10:21 PM
sepavloff closed D66073: Added unit tests to check supported rounding modes.
Aug 12 2019, 10:21 PM · Restricted Project
sepavloff added a comment to D65994: Extended FPOptions with new attributes.

Since this setting changes IR output, you should write a test that emits IR for source code and tests that you get the right IR output.

Aug 12 2019, 8:48 PM · Restricted Project
sepavloff updated the diff for D65994: Extended FPOptions with new attributes.

Updated patch

Aug 12 2019, 8:35 PM · Restricted Project
sepavloff added inline comments to D65997: Add options rounding and exceptions to pragma fp.
Aug 12 2019, 6:51 PM · Restricted Project
sepavloff updated the diff for D65997: Add options rounding and exceptions to pragma fp.

Updated patch

Aug 12 2019, 6:47 PM · Restricted Project
sepavloff added parent revisions for D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions: D66073: Added unit tests to check supported rounding modes, D66078: Added RAII object for authomatic restore of fp state, D65997: Add options rounding and exceptions to pragma fp.
Aug 12 2019, 9:30 AM · Restricted Project
sepavloff added a child revision for D66073: Added unit tests to check supported rounding modes: D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions.
Aug 12 2019, 9:30 AM · Restricted Project
sepavloff added a child revision for D66078: Added RAII object for authomatic restore of fp state: D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions.
Aug 12 2019, 9:30 AM · Restricted Project
sepavloff added a child revision for D65997: Add options rounding and exceptions to pragma fp: D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions.
Aug 12 2019, 9:30 AM · Restricted Project
sepavloff added a parent revision for D65997: Add options rounding and exceptions to pragma fp: D65994: Extended FPOptions with new attributes.
Aug 12 2019, 9:28 AM · Restricted Project
sepavloff added a child revision for D65994: Extended FPOptions with new attributes: D65997: Add options rounding and exceptions to pragma fp.
Aug 12 2019, 9:28 AM · Restricted Project
sepavloff created D66092: [CodeGen] Generate constrained fp intrinsics depending on FPOptions.
Aug 12 2019, 9:26 AM · Restricted Project
sepavloff created D66078: Added RAII object for authomatic restore of fp state.
Aug 12 2019, 3:38 AM · Restricted Project
sepavloff created D66073: Added unit tests to check supported rounding modes.
Aug 12 2019, 1:07 AM · Restricted Project

Aug 9 2019

sepavloff created D65997: Add options rounding and exceptions to pragma fp.
Aug 9 2019, 12:29 AM · Restricted Project

Aug 8 2019

sepavloff created D65994: Extended FPOptions with new attributes.
Aug 8 2019, 11:14 PM · Restricted Project

Aug 4 2019

sepavloff committed rG037861b23092: [Parser] Emit descriptive diagnostic for misplaced pragma (authored by sepavloff).
[Parser] Emit descriptive diagnostic for misplaced pragma
Aug 4 2019, 3:11 AM
sepavloff committed rL367779: [Parser] Emit descriptive diagnostic for misplaced pragma.
[Parser] Emit descriptive diagnostic for misplaced pragma
Aug 4 2019, 3:08 AM
sepavloff closed D64932: [Parser] Emit descriptive diagnostic for misplaced pragma.
Aug 4 2019, 3:08 AM · Restricted Project, Restricted Project

Aug 3 2019

sepavloff committed rGfcb6123d05c6: Use switch instead of series of comparisons (authored by sepavloff).
Use switch instead of series of comparisons
Aug 3 2019, 9:33 AM
sepavloff committed rL367759: Use switch instead of series of comparisons.
Use switch instead of series of comparisons
Aug 3 2019, 9:32 AM
sepavloff closed D65670: Use switch instead of series of comparisons.
Aug 3 2019, 9:32 AM · Restricted Project, Restricted Project

Aug 2 2019

sepavloff added a comment to D65405: [Parser] Use special definition for pragma annotations.

LGTM, although I don't think it would be ridiculous to make this an inline function definition like isAnnotation.

Aug 2 2019, 11:41 AM · Restricted Project, Restricted Project
sepavloff created D65670: Use switch instead of series of comparisons.
Aug 2 2019, 11:38 AM · Restricted Project, Restricted Project
sepavloff added inline comments to D64932: [Parser] Emit descriptive diagnostic for misplaced pragma.
Aug 2 2019, 5:46 AM · Restricted Project, Restricted Project
sepavloff updated the diff for D64932: [Parser] Emit descriptive diagnostic for misplaced pragma.

Updated patch

Aug 2 2019, 5:43 AM · Restricted Project, Restricted Project

Aug 1 2019

sepavloff committed rG3c26163d1a18: [Parser] Use special definition for pragma annotations (authored by sepavloff).
[Parser] Use special definition for pragma annotations
Aug 1 2019, 8:17 AM
sepavloff committed rL367575: [Parser] Use special definition for pragma annotations.
[Parser] Use special definition for pragma annotations
Aug 1 2019, 8:14 AM
sepavloff closed D65405: [Parser] Use special definition for pragma annotations.
Aug 1 2019, 8:14 AM · Restricted Project, Restricted Project
sepavloff committed rG0c50319927b5: [Parser] Change parameter type from int to enum (authored by sepavloff).
[Parser] Change parameter type from int to enum
Aug 1 2019, 4:50 AM
sepavloff committed rL367545: [Parser] Change parameter type from int to enum.
[Parser] Change parameter type from int to enum
Aug 1 2019, 4:46 AM
sepavloff closed D65406: [Parser] Change parameter type from int to enum.
Aug 1 2019, 4:46 AM · Restricted Project, Restricted Project

Jul 29 2019

sepavloff added parent revisions for D64932: [Parser] Emit descriptive diagnostic for misplaced pragma: D65406: [Parser] Change parameter type from int to enum, D65405: [Parser] Use special definition for pragma annotations.
Jul 29 2019, 10:09 AM · Restricted Project, Restricted Project
sepavloff added a child revision for D65405: [Parser] Use special definition for pragma annotations: D64932: [Parser] Emit descriptive diagnostic for misplaced pragma.
Jul 29 2019, 10:09 AM · Restricted Project, Restricted Project
sepavloff added a child revision for D65406: [Parser] Change parameter type from int to enum: D64932: [Parser] Emit descriptive diagnostic for misplaced pragma.
Jul 29 2019, 10:09 AM · Restricted Project, Restricted Project
sepavloff updated the diff for D64932: [Parser] Emit descriptive diagnostic for misplaced pragma.

Updated patch

Jul 29 2019, 10:09 AM · Restricted Project, Restricted Project
sepavloff created D65406: [Parser] Change parameter type from int to enum.
Jul 29 2019, 10:04 AM · Restricted Project, Restricted Project
sepavloff created D65405: [Parser] Use special definition for pragma annotations.
Jul 29 2019, 10:01 AM · Restricted Project, Restricted Project

Jul 26 2019

sepavloff added a comment to D64932: [Parser] Emit descriptive diagnostic for misplaced pragma.

Ping.

Jul 26 2019, 10:14 AM · Restricted Project, Restricted Project

Jul 18 2019

sepavloff created D64932: [Parser] Emit descriptive diagnostic for misplaced pragma.
Jul 18 2019, 9:47 AM · Restricted Project, Restricted Project

Jul 9 2019

Herald updated subscribers of D51372: FENV_ACCESS support for libm-style constrained intrinsics.
Jul 9 2019, 10:10 AM

May 23 2019

sepavloff committed rGed595e8627b3: [AArch64] Add nvcast patterns for v2f32 -> v1f64 (authored by sepavloff).
[AArch64] Add nvcast patterns for v2f32 -> v1f64
May 23 2019, 6:19 PM
sepavloff committed rL361584: [AArch64] Add nvcast patterns for v2f32 -> v1f64.
[AArch64] Add nvcast patterns for v2f32 -> v1f64
May 23 2019, 6:18 PM
sepavloff closed D62285: [AArch64] Add nvcast patterns for v2f32 -> v1f64.
May 23 2019, 6:17 PM · Restricted Project

May 22 2019

sepavloff created D62285: [AArch64] Add nvcast patterns for v2f32 -> v1f64.
May 22 2019, 10:27 PM · Restricted Project

Dec 6 2018

sepavloff committed rC348473: Diagnose friend function template redefinitions..
Diagnose friend function template redefinitions.
Dec 6 2018, 1:39 AM
sepavloff committed rL348473: Diagnose friend function template redefinitions..
Diagnose friend function template redefinitions.
Dec 6 2018, 1:39 AM
sepavloff closed D21508: Diagnose friend function template redefinitions.
Dec 6 2018, 1:39 AM

Dec 4 2018

sepavloff updated the diff for D21508: Diagnose friend function template redefinitions.

Updated patch

Dec 4 2018, 10:40 PM

Aug 14 2018

sepavloff added a comment to D21767: Fix instantiation of friend function templates.

Shouldn't there just be a link in the AST from the instantiated FunctionTemplateDecl back to the original pattern? Maybe a generalization of InstantiatedFromMember in RedeclarablableTemplateDecl?

Aug 14 2018, 10:31 AM

Aug 13 2018

sepavloff updated the diff for D21508: Diagnose friend function template redefinitions.

Rebased the patch

Aug 13 2018, 1:09 AM

Aug 12 2018

sepavloff added reviewers for D21767: Fix instantiation of friend function templates: rjmccall, faisalv, fpichet.
Aug 12 2018, 11:32 PM
sepavloff updated the diff for D21767: Fix instantiation of friend function templates.

Rebased the patch, it is still actual.

Aug 12 2018, 11:31 PM

Aug 8 2018

sepavloff abandoned D24649: Treat instantiations of variable templates as definitions.

Fixed in r319605.

Aug 8 2018, 12:03 AM

Aug 7 2018

sepavloff removed a reviewer for D24649: Treat instantiations of variable templates as definitions: rsmith.
Aug 7 2018, 10:06 PM

Jul 28 2018

sepavloff committed rC338199: [UBSan] Strengthen pointer checks in 'new' expressions.
[UBSan] Strengthen pointer checks in 'new' expressions
Jul 28 2018, 8:33 AM
sepavloff committed rL338199: [UBSan] Strengthen pointer checks in 'new' expressions.
[UBSan] Strengthen pointer checks in 'new' expressions
Jul 28 2018, 8:33 AM
sepavloff closed D49589: [UBSan] Strengthen pointer checks in 'new' expressions.
Jul 28 2018, 8:33 AM

Jul 27 2018

sepavloff added a comment to D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

@rjmccall Thank you!

Jul 27 2018, 10:36 AM
sepavloff updated the diff for D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

Updated patch

Jul 27 2018, 6:05 AM

Jul 26 2018

sepavloff updated the diff for D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

Updated patch

Jul 26 2018, 9:50 PM
sepavloff added a comment to D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

Also, please remember that your analysis is not the only thing happening in the compiler. isChecked is not a meaningful name taken out of context.

Jul 26 2018, 10:13 AM
sepavloff updated the diff for D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

Updated patch

Jul 26 2018, 10:04 AM

Jul 25 2018

sepavloff updated the diff for D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

Updated patch

Jul 25 2018, 10:29 AM

Jul 24 2018

sepavloff added inline comments to D49589: [UBSan] Strengthen pointer checks in 'new' expressions.
Jul 24 2018, 12:25 PM
sepavloff updated the diff for D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

Updated patch

Jul 24 2018, 12:09 PM

Jul 23 2018

sepavloff added a comment to D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

Did you consider dividing the patch into two separate changes to solve the two described issues independently?

Jul 23 2018, 1:48 AM

Jul 19 2018

sepavloff created D49589: [UBSan] Strengthen pointer checks in 'new' expressions.
Jul 19 2018, 10:24 PM

Jul 4 2018

sepavloff committed rCXXA336312: [demangler] Avoid alignment warning.
[demangler] Avoid alignment warning
Jul 4 2018, 11:31 PM
sepavloff committed rL336312: [demangler] Avoid alignment warning.
[demangler] Avoid alignment warning
Jul 4 2018, 11:29 PM
sepavloff committed rL336311: [demangler] Avoid alignment warning.
[demangler] Avoid alignment warning
Jul 4 2018, 11:27 PM
sepavloff closed D48889: [demangler] Ensure proper alignment in BumpPointerAllocator.
Jul 4 2018, 11:27 PM
sepavloff added inline comments to D48889: [demangler] Ensure proper alignment in BumpPointerAllocator.
Jul 4 2018, 11:25 PM
sepavloff updated the diff for D48889: [demangler] Ensure proper alignment in BumpPointerAllocator.

Updated patch

Jul 4 2018, 7:18 AM
sepavloff added a comment to D48889: [demangler] Ensure proper alignment in BumpPointerAllocator.

We don't need 16-byte alignment on MSVC, we only need 8 because alignof(max_align_t) is 8 on that platform, and malloc is required to provide memory that's aligned to that boundary.

Jul 4 2018, 7:17 AM

Jul 3 2018

sepavloff created D48889: [demangler] Ensure proper alignment in BumpPointerAllocator.
Jul 3 2018, 11:51 AM