Page MenuHomePhabricator

sdmitrouk (Sergey Dmitrouk)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 25 2014, 1:19 AM (255 w, 1 d)

Recent Activity

Jan 25 2016

sdmitrouk updated the diff for D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.

Reuse SubclassData and remove FastMathFlags argument.

Jan 25 2016, 10:25 AM

Jan 23 2016

sdmitrouk added inline comments to D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.
Jan 23 2016, 11:34 AM
sdmitrouk abandoned D14077: [FPEnv Core 12/14] Prevent InstCombine from hanging.
Jan 23 2016, 6:27 AM
sdmitrouk added inline comments to D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.
Jan 23 2016, 6:26 AM

Dec 21 2015

sdmitrouk added inline comments to D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.
Dec 21 2015, 2:50 AM
sdmitrouk updated the diff for D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.

Remove extra empty line.

Dec 21 2015, 2:50 AM
sdmitrouk added a comment to D14077: [FPEnv Core 12/14] Prevent InstCombine from hanging.

Right, looks like it's not necessary anymore, thanks.

Dec 21 2015, 2:46 AM

Dec 18 2015

sdmitrouk added a comment to D14078: [FPEnv Core 13/14] Don't hoist FP-ops with side-effects in LICM.

Ping.

Dec 18 2015, 11:01 AM
sdmitrouk added a comment to D14077: [FPEnv Core 12/14] Prevent InstCombine from hanging.

Ping.

Dec 18 2015, 11:01 AM
sdmitrouk added a comment to D14076: [FPEnv Core 11/14] Don't convert fpops to constexprs in SCCP.

Ping.

Dec 18 2015, 11:01 AM

Dec 16 2015

sdmitrouk updated the diff for D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.
Dec 16 2015, 8:02 AM

Dec 15 2015

sdmitrouk added a comment to D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.

Realized that I forgot to update other methods of ConstantExprKeyType to include the new field, will do that later, it won't change much. Optional data field was already used and it's only 7bits in Value class, which would need to be extended to hold new flags, so I added a field to ConstantExpr instead.

Dec 15 2015, 4:14 PM
sdmitrouk updated the diff for D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.

Replacing with FastMathFlags for ConstantExpr, separate patch would almost completely undo this one and two more (two following ones, which are related to Strict flag), so I guess it's better to have it here.

Dec 15 2015, 3:18 PM

Dec 14 2015

sdmitrouk added inline comments to D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.
Dec 14 2015, 1:42 PM
sdmitrouk updated the diff for D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.

Document the new parameter (Strict).

Dec 14 2015, 7:59 AM
sdmitrouk added inline comments to D14070: [FPEnv Core 05/14] Teach IR builder and folders about new flags.
Dec 14 2015, 7:57 AM
sdmitrouk updated the diff for D14070: [FPEnv Core 05/14] Teach IR builder and folders about new flags.

Update test and also one get() invocation, which was changed by mistake (it called itself after this change).

Dec 14 2015, 7:57 AM

Dec 11 2015

sdmitrouk added inline comments to D14069: [FPEnv Core 04/14] Skip constant folding to preserve FPEnv.
Dec 11 2015, 4:54 PM
sdmitrouk updated the diff for D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.

Use different overload of ConstantExpr::get().

Dec 11 2015, 9:40 AM
sdmitrouk updated the diff for D14074: [FPEnv Core 09/14] Make Strict flag available for more clients.

Use different overload of ConstantExpr::get().

Dec 11 2015, 9:37 AM
sdmitrouk updated the diff for D14075: [FPEnv Core 10/14] Use Strict in IRBuilder.

Add comment for boolean argument in invocations.

Dec 11 2015, 9:32 AM
sdmitrouk updated the diff for D14076: [FPEnv Core 11/14] Don't convert fpops to constexprs in SCCP.

Remove extra braces, use different overload of ConstantExpr::get().

Dec 11 2015, 9:28 AM

Dec 10 2015

sdmitrouk added inline comments to D14079: [FPEnv Core 14/14] Introduce F*_W_CHAIN instrs to prevent reordering.
Dec 10 2015, 10:01 AM
sdmitrouk updated the diff for D14079: [FPEnv Core 14/14] Introduce F*_W_CHAIN instrs to prevent reordering.

Dropped AMDGPU. Addressed comments.

Dec 10 2015, 10:01 AM

Dec 9 2015

sdmitrouk updated the diff for D14069: [FPEnv Core 04/14] Skip constant folding to preserve FPEnv.

Address the nitpicks, thanks for noticing them.

Dec 9 2015, 1:47 AM

Dec 8 2015

sdmitrouk updated the diff for D14070: [FPEnv Core 05/14] Teach IR builder and folders about new flags.

Some changes are now in D14069, it didn't compile without them. There were too many rebases...

Dec 8 2015, 2:26 PM
sdmitrouk added a comment to D14069: [FPEnv Core 04/14] Skip constant folding to preserve FPEnv.

@joker.eph, thanks. Changed according to your comments, but tests on this revision don't pass... Can't reorder commits nicely due to changes of flags (now that default value FastMathFlags() is "bad" for incremental changes). Instead I'm leaving patches separated for review, but when committing will squash them to make tests pass on each revision.

Dec 8 2015, 2:23 PM
sdmitrouk updated the diff for D14069: [FPEnv Core 04/14] Skip constant folding to preserve FPEnv.

Addressing review comments.

Dec 8 2015, 2:12 PM

Dec 7 2015

sdmitrouk updated the diff for D14069: [FPEnv Core 04/14] Skip constant folding to preserve FPEnv.

Revert questionable change in undef-label.ll (it shouldn't be here anyway), this also removes four tests that are now in D14067.

Dec 7 2015, 1:07 PM
sdmitrouk updated the diff for D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.

Removed code duplication and moved several tests from patch#4 here. Will wait until patch#4 is accepted before committing, otherwise new flags will become visible in IR, but won't be used by any code, which can confuse.

Dec 7 2015, 11:42 AM

Dec 4 2015

sdmitrouk added inline comments to D14078: [FPEnv Core 13/14] Don't hoist FP-ops with side-effects in LICM.
Dec 4 2015, 12:20 PM
sdmitrouk updated the diff for D14078: [FPEnv Core 13/14] Don't hoist FP-ops with side-effects in LICM.

Rename flags.

Dec 4 2015, 12:18 PM
sdmitrouk updated the diff for D14077: [FPEnv Core 12/14] Prevent InstCombine from hanging.

Flags rename and checks of arguments.

Dec 4 2015, 12:15 PM
sdmitrouk updated the diff for D14076: [FPEnv Core 11/14] Don't convert fpops to constexprs in SCCP.

Flags rename.

Dec 4 2015, 12:14 PM
sdmitrouk updated the diff for D14075: [FPEnv Core 10/14] Use Strict in IRBuilder.

Reflect inversion of meaning of new fast-math flags.

Dec 4 2015, 12:13 PM
sdmitrouk updated the diff for D14074: [FPEnv Core 09/14] Make Strict flag available for more clients.

Looks like no changes, but update it anyway because of rebase, just in case.

Dec 4 2015, 12:11 PM
sdmitrouk updated the diff for D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.

Update of test per flags rename and correction of one condition (need to ignore non-floating-point types).

Dec 4 2015, 12:09 PM
sdmitrouk updated the diff for D14072: [FPEnv Core 07/14] Prevent undesired folding by InstSimplify.

Changes required due to updated of patches that go before this one.

Dec 4 2015, 12:08 PM
sdmitrouk updated the diff for D14071: [FPEnv Core 06/14] Do not fold constants on reading in IR asm/bitcode .

This got reduced to just a test case (maybe worth squashing into other revision, but this would break numbering, so still here).

Dec 4 2015, 12:06 PM
sdmitrouk updated the diff for D14070: [FPEnv Core 05/14] Teach IR builder and folders about new flags.

Update test as requested, update code due to other changes.

Dec 4 2015, 12:05 PM
sdmitrouk updated the diff for D14069: [FPEnv Core 04/14] Skip constant folding to preserve FPEnv.

Updated text of comments, updated code to pass fast-math flags in several places, adjusted code according to review comments, updated tests which are affected by inversion of meaning of flags.

Dec 4 2015, 12:02 PM
sdmitrouk updated the diff for D14068: [FPEnv Core 03/14] Make SelectionDAG aware of FPEnv flags.

Inverted meaning of flags.

Dec 4 2015, 11:59 AM
sdmitrouk updated the diff for D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.

Inverted meaning of flags, updated text of comments.

Dec 4 2015, 11:58 AM
sdmitrouk updated the diff for D14066: [FPEnv Core 01/14] Add flags and command-line switches for FPEnv.

Updated text of comments.

Dec 4 2015, 11:56 AM

Nov 26 2015

sdmitrouk added a comment to D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.
In D14067#296684, @joker.eph wrote:

We don't provide any guarantee for .ll compatibility across version of llvm (best effort).
So it is only when reading a .bc that does not contain the flags that you need to set the default value correctly.

Nov 26 2015, 5:18 AM

Nov 25 2015

sdmitrouk added a comment to D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.

Ping.

Nov 25 2015, 9:35 AM

Nov 18 2015

sdmitrouk added a comment to D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.

Ping.

Nov 18 2015, 8:34 AM
sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.

Nov 18 2015, 8:34 AM

Nov 11 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.

Nov 11 2015, 2:46 AM
sdmitrouk added a comment to D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.

Ping.

Nov 11 2015, 2:45 AM

Nov 5 2015

sdmitrouk committed rL252180: [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes….
[compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes…
Nov 5 2015, 10:39 AM
sdmitrouk closed D14187: [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes of tests and __fixuint by committing rL252180: [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes….
Nov 5 2015, 10:39 AM
sdmitrouk added inline comments to D14187: [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes of tests and __fixuint.
Nov 5 2015, 9:34 AM

Nov 4 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.

Nov 4 2015, 10:43 AM
sdmitrouk added a comment to D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.

Older bitcode would have to be auto-upgraded to add those flags onto older instructions.

There is a compatibility issue. kexc and kround can be added when they are needed leaving regular behaviour for cases where these flags are not specified, they also have property of having all fast-math flags unset by default. Combination of nexc and nrnd flags corresponds to current behaviour and all new code that wants folding will need to include these flags explicitly. Or is this what you mean by saying Older bitcode would have to be auto-upgraded to add those flags onto older instructions.?

Nov 4 2015, 4:25 AM
sdmitrouk added a comment to D14187: [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes of tests and __fixuint.

Somehow missed the inline comment.

Nov 4 2015, 4:13 AM
sdmitrouk updated the diff for D14187: [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes of tests and __fixuint.

Fixed off by one error in __fixuint and updated eight tests to check this case (expected 1...1 n times on input 2^n where n is width of output type in bits).

Nov 4 2015, 4:09 AM

Oct 29 2015

sdmitrouk retitled D14187: [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes of tests and __fixuint from to [compiler-rt][aarch64] New tests for 128-bit floating-point builtins and fixes of tests.
Oct 29 2015, 3:11 PM
sdmitrouk added a comment to D14079: [FPEnv Core 14/14] Introduce F*_W_CHAIN instrs to prevent reordering.

Drive-by-comment...

Is there an advantage to duplicating FADD, FSUB, FMUL, FDIV, and FREM into a second W_CHAIN set, instead of having only a single set of ops which have the chain operand? It would naively seem better to have less duplication? (That is, if the compilation flags say to not care about fp ordering, the input chain would still be there, but would always be set to the entry node.)

Oct 29 2015, 12:30 PM

Oct 28 2015

sdmitrouk added a comment to D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.

I'd like to propose a mildly different design; I'd phrase the two flags using a positive perspective:

  • nexc: Assume that floating-point exceptions are not relevant.
  • nrnd: Assume that the rounding-mode is round-to-nearest (ties even).

    This has the nice property that fast is the union of all flags and, in general, keeps things consistent with all the other fast math flags. The general pattern is that adding flags permits further optimization; places where this is violated have been a wellspring of bugs (namely volatile).

    Older bitcode would have to be auto-upgraded to add those flags onto older instructions.
Oct 28 2015, 9:04 AM

Oct 27 2015

sdmitrouk added inline comments to D14079: [FPEnv Core 14/14] Introduce F*_W_CHAIN instrs to prevent reordering.
Oct 27 2015, 10:52 AM
sdmitrouk added a comment to D14071: [FPEnv Core 06/14] Do not fold constants on reading in IR asm/bitcode .

That sounds like an oversight. We have overflow flags (nsw/nuw) for integer math.

Oct 27 2015, 9:38 AM

Oct 26 2015

sdmitrouk added a comment to D14071: [FPEnv Core 06/14] Do not fold constants on reading in IR asm/bitcode .

Why are we making this assumption? It seems strange to assume that all constant expressions infer KeepExceptions and KeepRounding.

Oct 26 2015, 9:26 AM
sdmitrouk retitled D14079: [FPEnv Core 14/14] Introduce F*_W_CHAIN instrs to prevent reordering from to [FPEnv Core 14/14] Introduce F*_W_CHAIN instrs to prevent reordering.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14078: [FPEnv Core 13/14] Don't hoist FP-ops with side-effects in LICM from to [FPEnv Core 13/14] Don't hoist FP-ops with side-effects in LICM.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14077: [FPEnv Core 12/14] Prevent InstCombine from hanging from to [FPEnv Core 12/14] Prevent InstCombine from hanging.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14076: [FPEnv Core 11/14] Don't convert fpops to constexprs in SCCP from to [FPEnv Core 11/14] Don't convert fpops to constexprs in SCCP.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14075: [FPEnv Core 10/14] Use Strict in IRBuilder from to [FPEnv Core 10/14] Use Strict in IRBuilder.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14074: [FPEnv Core 09/14] Make Strict flag available for more clients from to [FPEnv Core 09/14] Make Strict flag available for more clients.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14073: [FPEnv Core 08/14] Do not simplify expressions with FPEnv access from to [FPEnv Core 08/14] Do not simplify expressions with FPEnv access.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14072: [FPEnv Core 07/14] Prevent undesired folding by InstSimplify from to [FPEnv Core 07/14] Prevent undesired folding by InstSimplify.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14071: [FPEnv Core 06/14] Do not fold constants on reading in IR asm/bitcode from to [FPEnv Core 06/14] Do not fold constants on reading in IR asm/bitcode .
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14070: [FPEnv Core 05/14] Teach IR builder and folders about new flags from to [FPEnv Core 05/14] Teach IR builder and folders about new flags.
Oct 26 2015, 6:56 AM
sdmitrouk retitled D14069: [FPEnv Core 04/14] Skip constant folding to preserve FPEnv from to [FPEnv Core 04/14] Skip constant folding to preserve FPEnv.
Oct 26 2015, 6:55 AM
sdmitrouk retitled D14068: [FPEnv Core 03/14] Make SelectionDAG aware of FPEnv flags from to [FPEnv Core 03/14] Make SelectionDAG aware of FPEnv flags.
Oct 26 2015, 6:55 AM
sdmitrouk retitled D14067: [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags from to [FPEnv Core 02/14] Add FPEnv access flags to fast-math flags.
Oct 26 2015, 6:55 AM
sdmitrouk retitled D14066: [FPEnv Core 01/14] Add flags and command-line switches for FPEnv from to [FPEnv Core 01/14] Add flags and command-line switches for FPEnv.
Oct 26 2015, 6:55 AM

Oct 16 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping. Eric, any comments on this patch?

Oct 16 2015, 10:10 AM

Sep 14 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

David, I asked Chad two weeks ago about review or someone who could make a review, that's why he added @ributzka, but if Juergen doesn't have time, getting attention of another person competent in this area would be nice.

Sep 14 2015, 7:42 AM
sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.

Sep 14 2015, 2:01 AM

Sep 3 2015

sdmitrouk added a comment to D12094: Avoid the propagation of debug locations in SelectionDAG via CSE.

We determine from the context whether the place where the node is reused is located earlier in the sequence of instructions.

Sep 3 2015, 5:26 AM

Aug 31 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.

Aug 31 2015, 12:05 PM

Aug 21 2015

sdmitrouk accepted D12094: Avoid the propagation of debug locations in SelectionDAG via CSE.

Thanks for the update, LGTM with returned first line of SelectionDAG.cpp.

Aug 21 2015, 5:39 AM

Aug 20 2015

sdmitrouk added a comment to D12094: Avoid the propagation of debug locations in SelectionDAG via CSE.

This is what I intended to do at first, but there are several contexts where the call to FindNodeOrInsertPos() is used as a query rather than with an intent to eliminate common subexpressions (e.g. all 3 versions of FindModifiedNodeSlot(), and getNodeIfExists()). It would be undesirable to possibly null out the debugLoc in those contexts, and indeed one llvm test broke by degrading the line number info when I did it this way.
That's not to say filtering the debugLoc couldn't be centralized but it would probably require some rework of the Constant node handling as well. I'm certainly open to that.

Aug 20 2015, 10:05 AM

Aug 18 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.

Aug 18 2015, 6:45 AM
sdmitrouk committed rL245296: [compiler-rt] Add AArch64 to CMake configuration and several missing builtins.
[compiler-rt] Add AArch64 to CMake configuration and several missing builtins
Aug 18 2015, 6:44 AM
sdmitrouk closed D11679: [compiler-rt] Add AArch64 to CMake configuration and several missing builtins by committing rL245296: [compiler-rt] Add AArch64 to CMake configuration and several missing builtins.
Aug 18 2015, 6:44 AM
sdmitrouk added a comment to D12094: Avoid the propagation of debug locations in SelectionDAG via CSE.

Are there any reasons to implement the check in separate function instead of
changing 3-argument overload of SelectionDAG::FindNodeOrInsertPos to handle
nodes of all kinds (that would require updating its comment a bit)? If I
counted correctly, the changes cover 20 of 27 uses of that overload and it might
make sense to keep debug location erasure in one place to make it less
error-prone, unless there are reasons not to do this.

Aug 18 2015, 3:02 AM

Aug 17 2015

sdmitrouk updated the diff for D11679: [compiler-rt] Add AArch64 to CMake configuration and several missing builtins.

Address review comments.

Aug 17 2015, 9:49 AM
sdmitrouk added a comment to D11679: [compiler-rt] Add AArch64 to CMake configuration and several missing builtins.

@zatrazz, thanks for the review and tests.

Aug 17 2015, 9:40 AM

Jul 31 2015

sdmitrouk added a comment to D11679: [compiler-rt] Add AArch64 to CMake configuration and several missing builtins.

Where have you tested this?

Jul 31 2015, 1:16 PM
sdmitrouk retitled D11679: [compiler-rt] Add AArch64 to CMake configuration and several missing builtins from to [compiler-rt] Add AArch64 to CMake configuration and several missing builtins.
Jul 31 2015, 7:34 AM
sdmitrouk committed rL243746: Fix __floatsitf() for negative input.
Fix __floatsitf() for negative input
Jul 31 2015, 6:32 AM

Jul 29 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.
@mcrosier maybe you could take a look at these changes since you're listed as Fast-ISel code owner?

Jul 29 2015, 11:41 AM

Jul 8 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.

Jul 8 2015, 2:00 AM

Jun 30 2015

sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Ping.

Jun 30 2015, 10:47 AM

Jun 26 2015

sdmitrouk committed rL240771: Do not ignore projects/LLVMBuild.txt in git repo.
Do not ignore projects/LLVMBuild.txt in git repo
Jun 26 2015, 3:14 AM

Jun 19 2015

sdmitrouk updated subscribers of D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Hey Alexey, this patch might be of interest for you with regard to issues you face in code coverage tools and might fix some problems with debug locations there. Please take a look if you can.

Jun 19 2015, 5:28 AM
sdmitrouk updated the diff for D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Addressing David's comments.

Jun 19 2015, 5:23 AM
sdmitrouk added a comment to D9887: [DebugInfo][FastISel] Prevent using debug location from previous block for local values.

Some comments

Jun 19 2015, 5:20 AM