ABataev (Alexey Bataev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 31 2013, 4:40 AM (280 w, 5 d)

Recent Activity

Today

ABataev accepted D48008: [SLPVectorizer] Remove default OperandValueKind arguments from getArithmeticInstrCost calls (NFC).

LG

Tue, Jun 19, 6:14 AM

Yesterday

ABataev committed rL334962: [OPENMP, NVPTX] Emit simple reduction if requested..
[OPENMP, NVPTX] Emit simple reduction if requested.
Mon, Jun 18, 10:16 AM
ABataev committed rC334962: [OPENMP, NVPTX] Emit simple reduction if requested..
[OPENMP, NVPTX] Emit simple reduction if requested.
Mon, Jun 18, 10:16 AM

Wed, Jun 6

ABataev added a comment to D47849: [OpenMP][Clang][NVPTX] Enable math functions called in an OpenMP NVPTX target device region to be resolved as device-native function calls.

Add tests for C++ and move OpenMP specific tests to OpenMP directory

Wed, Jun 6, 4:37 PM

Mon, Jun 4

ABataev updated subscribers of D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops..

@dtemirbulatov @ABataev Is there anything that can be done to please keep this patch moving? The next release branch won't be far away now and I originally requested this over a year and a half ago (PR30787), and ideally I'd like to get this in and then I can more easily implement PR33744 as well in time.

I notice there's still some minor refactoring in the patch to use InstructionState in newTreeEntry/tryScheduleBundle calls - is it worth getting that done quickly first?

What about testing - how much testing has been done with external code?

Mon, Jun 4, 5:44 PM

Fri, May 25

ABataev committed rC333301: [OPENMP, NVPTX] Fixed codegen for orphaned parallel region..
[OPENMP, NVPTX] Fixed codegen for orphaned parallel region.
Fri, May 25, 1:20 PM
ABataev committed rL333301: [OPENMP, NVPTX] Fixed codegen for orphaned parallel region..
[OPENMP, NVPTX] Fixed codegen for orphaned parallel region.
Fri, May 25, 1:20 PM

Thu, May 24

ABataev added a comment to D47333: [CUDA]Fix dynamic|guided scheduling..

George, could you commit it, please? I need a lot of time to configure openmp runtime so I could commit it.

Thu, May 24, 10:28 AM
ABataev retitled D47333: [CUDA]Fix dynamic|guided scheduling. from Fix dynamic|guided scheduling. to [CUDA]Fix dynamic|guided scheduling..
Thu, May 24, 9:43 AM
ABataev created D47333: [CUDA]Fix dynamic|guided scheduling..
Thu, May 24, 9:43 AM

Mon, May 21

ABataev committed rL332855: [InstCombine] Fix PR37526: MinMax patterns produce an infinite loop..
[InstCombine] Fix PR37526: MinMax patterns produce an infinite loop.
Mon, May 21, 10:50 AM
ABataev closed D47144: [InstCombine] Fix PR37526: MinMax patterns produce an infinite loop..
Mon, May 21, 10:50 AM
ABataev updated the diff for D47144: [InstCombine] Fix PR37526: MinMax patterns produce an infinite loop..

Address comments from Sanjay Patel

Mon, May 21, 10:04 AM
ABataev accepted D46637: [TTI] Add uniform/non-uniform constant Pow2 detection to TargetTransformInfo::getInstructionThroughput.

LG

Mon, May 21, 9:48 AM
ABataev committed rC332852: [OPENMP-SIMD] Fix PR37536: Fix definition of _OPENMP macro..
[OPENMP-SIMD] Fix PR37536: Fix definition of _OPENMP macro.
Mon, May 21, 9:46 AM
ABataev committed rL332852: [OPENMP-SIMD] Fix PR37536: Fix definition of _OPENMP macro..
[OPENMP-SIMD] Fix PR37536: Fix definition of _OPENMP macro.
Mon, May 21, 9:46 AM
ABataev added inline comments to D46637: [TTI] Add uniform/non-uniform constant Pow2 detection to TargetTransformInfo::getInstructionThroughput.
Mon, May 21, 8:47 AM
ABataev updated the diff for D47144: [InstCombine] Fix PR37526: MinMax patterns produce an infinite loop..

Improved code.

Mon, May 21, 8:26 AM
ABataev created D47144: [InstCombine] Fix PR37526: MinMax patterns produce an infinite loop..
Mon, May 21, 8:17 AM
ABataev added a comment to D45783: [DEBUGINFO, NVPTX] Render `-no-cuda-debug` LLVM option when required..

So, I'd really prefer not to set options via the backend option path. From here I think we should aim to take all of the options we added and having the asm printer in the backend know how to set them depending on the target. We could also add things to the IR metadata if necessary, but I'd like to avoid that if possible.

Thoughts?

Mon, May 21, 7:46 AM

May 18 2018

ABataev added inline comments to D46667: [OpenCL, OpenMP] Fix crash when OpenMP used in OpenCL file.
May 18 2018, 10:23 AM

May 16 2018

ABataev committed rC332477: [OPENMP] DO not crash on combined constructs in declare target.
[OPENMP] DO not crash on combined constructs in declare target
May 16 2018, 8:12 AM
ABataev committed rL332477: [OPENMP] DO not crash on combined constructs in declare target.
[OPENMP] DO not crash on combined constructs in declare target
May 16 2018, 8:12 AM
ABataev committed rC332467: [OPENMP, NVPTX] Add check for SPMD mode in orphaned parallel directives..
[OPENMP, NVPTX] Add check for SPMD mode in orphaned parallel directives.
May 16 2018, 6:42 AM
ABataev committed rL332467: [OPENMP, NVPTX] Add check for SPMD mode in orphaned parallel directives..
[OPENMP, NVPTX] Add check for SPMD mode in orphaned parallel directives.
May 16 2018, 6:42 AM

May 15 2018

ABataev committed rC332380: [OPENMP, NVPTX] Do not globalize variables with reference/pointer types..
[OPENMP, NVPTX] Do not globalize variables with reference/pointer types.
May 15 2018, 11:05 AM
ABataev committed rL332380: [OPENMP, NVPTX] Do not globalize variables with reference/pointer types..
[OPENMP, NVPTX] Do not globalize variables with reference/pointer types.
May 15 2018, 11:05 AM
ABataev added inline comments to D46637: [TTI] Add uniform/non-uniform constant Pow2 detection to TargetTransformInfo::getInstructionThroughput.
May 15 2018, 7:22 AM

May 11 2018

ABataev committed rC332129: [OPENMP, NVPTX] Do not use SPMD mode for target simd and target teams.
[OPENMP, NVPTX] Do not use SPMD mode for target simd and target teams
May 11 2018, 12:50 PM
ABataev committed rL332129: [OPENMP, NVPTX] Do not use SPMD mode for target simd and target teams.
[OPENMP, NVPTX] Do not use SPMD mode for target simd and target teams
May 11 2018, 12:50 PM

May 10 2018

ABataev committed rC332016: [OPENMP, NVPTX] Initial support for L2 parallelism in SPMD mode..
[OPENMP, NVPTX] Initial support for L2 parallelism in SPMD mode.
May 10 2018, 11:36 AM
ABataev committed rL332016: [OPENMP, NVPTX] Initial support for L2 parallelism in SPMD mode..
[OPENMP, NVPTX] Initial support for L2 parallelism in SPMD mode.
May 10 2018, 11:36 AM
ABataev added inline comments to D46667: [OpenCL, OpenMP] Fix crash when OpenMP used in OpenCL file.
May 10 2018, 5:35 AM
ABataev added a comment to D46667: [OpenCL, OpenMP] Fix crash when OpenMP used in OpenCL file.

OpenCL C is based on C99, so OpenMP isn't enabled by default. But in your tests you use -fopenmp to activate it.

OpenCL general philosophy is that vectors are written explicitly, but it's not always very easy. In OpenCL C++ we have added an attribute hint for auto vectorization cl::vec_type_hint. It's given to a kernel rather than for a loop though. So I think this simd pragma is useful. My only worry is that other OpenMP features might not work well in OpenCL and we have no way to reject them at the moment.

May 10 2018, 5:30 AM

May 9 2018

ABataev added a comment to D46667: [OpenCL, OpenMP] Fix crash when OpenMP used in OpenCL file.

BTW, the test itself does not check anything.

May 9 2018, 5:44 PM
ABataev added a comment to D46667: [OpenCL, OpenMP] Fix crash when OpenMP used in OpenCL file.
  1. Is this allowed to use OpenMP for OpenCL programs at all?
  2. If it is allowed, I think it would be better to set the TypeSourceInfo for the artificial variable
May 9 2018, 5:43 PM
ABataev committed rL331899: [OPENMP] Generate unique names for offloading regions id..
[OPENMP] Generate unique names for offloading regions id.
May 9 2018, 11:06 AM
ABataev committed rC331899: [OPENMP] Generate unique names for offloading regions id..
[OPENMP] Generate unique names for offloading regions id.
May 9 2018, 11:06 AM
ABataev committed rC331879: [OPENMP] Mark global tors/dtors as used..
[OPENMP] Mark global tors/dtors as used.
May 9 2018, 7:19 AM
ABataev committed rL331879: [OPENMP] Mark global tors/dtors as used..
[OPENMP] Mark global tors/dtors as used.
May 9 2018, 7:18 AM

May 8 2018

ABataev committed rC331768: [OPENMP, NVPTX] Fix linkage of the global entries..
[OPENMP, NVPTX] Fix linkage of the global entries.
May 8 2018, 7:21 AM
ABataev committed rL331768: [OPENMP, NVPTX] Fix linkage of the global entries..
[OPENMP, NVPTX] Fix linkage of the global entries.
May 8 2018, 7:20 AM

May 7 2018

ABataev committed rL331654: [OPENMP, NVPTX] Small test fix, NFC..
[OPENMP, NVPTX] Small test fix, NFC.
May 7 2018, 10:42 AM
ABataev committed rC331654: [OPENMP, NVPTX] Small test fix, NFC..
[OPENMP, NVPTX] Small test fix, NFC.
May 7 2018, 10:41 AM
ABataev committed rC331652: [OPENMP, NVPTX] Codegen for critical construct..
[OPENMP, NVPTX] Codegen for critical construct.
May 7 2018, 10:29 AM
ABataev committed rL331652: [OPENMP, NVPTX] Codegen for critical construct..
[OPENMP, NVPTX] Codegen for critical construct.
May 7 2018, 10:29 AM
ABataev committed rC331642: [OPENMP, NVPTX] Added support for L2 parallelism..
[OPENMP, NVPTX] Added support for L2 parallelism.
May 7 2018, 7:54 AM
ABataev committed rL331642: [OPENMP, NVPTX] Added support for L2 parallelism..
[OPENMP, NVPTX] Added support for L2 parallelism.
May 7 2018, 7:53 AM

May 3 2018

ABataev accepted D46370: [OPENMP] Fix test typos: CHECK-DAG-N -> CHECK-N-DAG.

LG

May 3 2018, 6:11 AM

May 2 2018

ABataev committed rC331393: [OPENMP] Add support for reductions on simd directives in target.
[OPENMP] Add support for reductions on simd directives in target
May 2 2018, 1:07 PM
ABataev committed rL331393: [OPENMP] Add support for reductions on simd directives in target.
[OPENMP] Add support for reductions on simd directives in target
May 2 2018, 1:07 PM
ABataev committed rC331385: [OPENMP] Analyze the type of the mapped entity instead of its base..
[OPENMP] Analyze the type of the mapped entity instead of its base.
May 2 2018, 11:47 AM
ABataev committed rL331385: [OPENMP] Analyze the type of the mapped entity instead of its base..
[OPENMP] Analyze the type of the mapped entity instead of its base.
May 2 2018, 11:47 AM
ABataev committed rL331377: [OPENMP] Do not emit warning for implicitly declared target functions..
[OPENMP] Do not emit warning for implicitly declared target functions.
May 2 2018, 10:44 AM
ABataev committed rC331377: [OPENMP] Do not emit warning for implicitly declared target functions..
[OPENMP] Do not emit warning for implicitly declared target functions.
May 2 2018, 10:44 AM
ABataev committed rL331372: [OPENMP] Enable c++ exceptions outside of the target constructs iff they are.
[OPENMP] Enable c++ exceptions outside of the target constructs iff they are
May 2 2018, 9:55 AM
ABataev committed rC331372: [OPENMP] Enable c++ exceptions outside of the target constructs iff they are.
[OPENMP] Enable c++ exceptions outside of the target constructs iff they are
May 2 2018, 9:55 AM
ABataev committed rL331365: [OPENMP] Support C++ member functions in the device constructs..
[OPENMP] Support C++ member functions in the device constructs.
May 2 2018, 8:49 AM
ABataev committed rC331365: [OPENMP] Support C++ member functions in the device constructs..
[OPENMP] Support C++ member functions in the device constructs.
May 2 2018, 8:49 AM
ABataev committed rL331358: [OPENMP] Emit names of the globals depending on target..
[OPENMP] Emit names of the globals depending on target.
May 2 2018, 7:24 AM
ABataev committed rC331358: [OPENMP] Emit names of the globals depending on target..
[OPENMP] Emit names of the globals depending on target.
May 2 2018, 7:24 AM

May 1 2018

ABataev committed rL331261: [OPENMP] Emit template instatiation|specialization functions for.
[OPENMP] Emit template instatiation|specialization functions for
May 1 2018, 7:13 AM
ABataev committed rC331261: [OPENMP] Emit template instatiation|specialization functions for.
[OPENMP] Emit template instatiation|specialization functions for
May 1 2018, 7:13 AM
ABataev added a comment to D41827: [DEBUG] Initial adaptation of NVPTX target for debug info emission..

Hmm. Not sure, of course, but looks like the corruption of the output buffer. Like the flush is required or something like this. Need the output result for better analysis.

May 1 2018, 4:39 AM

Apr 30 2018

ABataev added a comment to D41827: [DEBUG] Initial adaptation of NVPTX target for debug info emission..

FWIW I'm seeing internal correctness issues after this patch has been merged - I think it's related to the section changing part of the patches. I'm investigating.

:( Very said. Do have troubles with NVPTX target or some other targets?

NVPTX :(

Do you have a repro?

Not yet. Trying to work one up.

So this diff:

  • for (const std::string &S : DwarfFiles)
  • getStreamer().EmitRawText(S.data()); + for (const std::string &S : DwarfFiles) + getStreamer().EmitRawText(DwarfFiles.front().data());

    causes the problem to go away.

    The problem shows up this way:

    There is more than one initializer with name 'file'

    during program startup (within google so you won't be able to duplicate this part). which seems a little weird, but I'm guessing that there's something going on in the way that we're outputting the file changes at section switch time with how ptxas is dealing with it.

    For now I'm going to go ahead and revert this because it's making it so that cuda compilation isn't working with clang and I'll continue working up a testcase and see if I can't narrow down the problem a little better and get back to you soon.
Apr 30 2018, 8:19 PM
ABataev added a comment to D41827: [DEBUG] Initial adaptation of NVPTX target for debug info emission..

FWIW I'm seeing internal correctness issues after this patch has been merged - I think it's related to the section changing part of the patches. I'm investigating.

:( Very said. Do have troubles with NVPTX target or some other targets?

NVPTX :(

Do you have a repro?

Apr 30 2018, 2:16 PM
ABataev added a comment to D41827: [DEBUG] Initial adaptation of NVPTX target for debug info emission..

FWIW I'm seeing internal correctness issues after this patch has been merged - I think it's related to the section changing part of the patches. I'm investigating.

:( Very said. Do have troubles with NVPTX target or some other targets?

Apr 30 2018, 2:14 PM
ABataev committed rC331211: [OPENMP] Do not emit warning about non-declared target function params..
[OPENMP] Do not emit warning about non-declared target function params.
Apr 30 2018, 11:32 AM
ABataev committed rL331211: [OPENMP] Do not emit warning about non-declared target function params..
[OPENMP] Do not emit warning about non-declared target function params.
Apr 30 2018, 11:32 AM
ABataev committed rL331206: [OPENMP] Do not crash on codegen for CXX member functions..
[OPENMP] Do not crash on codegen for CXX member functions.
Apr 30 2018, 11:13 AM
ABataev committed rC331206: [OPENMP] Do not crash on codegen for CXX member functions..
[OPENMP] Do not crash on codegen for CXX member functions.
Apr 30 2018, 11:13 AM
ABataev committed rC331195: [OPENMP] Do not crash on incorrect input data..
[OPENMP] Do not crash on incorrect input data.
Apr 30 2018, 9:30 AM
ABataev committed rL331195: [OPENMP] Do not crash on incorrect input data..
[OPENMP] Do not crash on incorrect input data.
Apr 30 2018, 9:30 AM

Apr 27 2018

ABataev added a dependent revision for D45783: [DEBUGINFO, NVPTX] Render `-no-cuda-debug` LLVM option when required.: D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:04 AM
ABataev added dependencies for D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target.: D45783: [DEBUGINFO, NVPTX] Render `-no-cuda-debug` LLVM option when required., D45785: [DEBUGINFO, NVPTX] Set `DW_AT_frame_base` to `DW_OP_call_frame_cfa`., D45784: [DEBUG_INFO, NVPTX] Fix relocation info., D46061: [DEBUGINFO, NVPTX] Disable emission of ',debug' option if only debug directives are allowed., D46021: [DEBUGINFO] Disable emission of the dwarf sections, but allow directives., D45963: [DEBUGINFO, NVPTX] Emit correct debug information for local variables., D45822: [DEBUGINFO, NVPTX] Try to pack bytes data into a single string..
Apr 27 2018, 7:04 AM
ABataev added a dependent revision for D45963: [DEBUGINFO, NVPTX] Emit correct debug information for local variables.: D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:04 AM
ABataev added a dependent revision for D46021: [DEBUGINFO] Disable emission of the dwarf sections, but allow directives.: D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:04 AM
ABataev added a dependent revision for D45785: [DEBUGINFO, NVPTX] Set `DW_AT_frame_base` to `DW_OP_call_frame_cfa`.: D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:04 AM
ABataev added a dependent revision for D45822: [DEBUGINFO, NVPTX] Try to pack bytes data into a single string.: D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:04 AM
ABataev added a dependent revision for D45784: [DEBUG_INFO, NVPTX] Fix relocation info.: D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:04 AM
ABataev added a dependent revision for D46061: [DEBUGINFO, NVPTX] Disable emission of ',debug' option if only debug directives are allowed.: D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:04 AM
ABataev retitled D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target. from [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTC target. to [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:03 AM
ABataev created D46189: [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target..
Apr 27 2018, 7:03 AM

Apr 26 2018

ABataev updated the diff for D45263: [SLP] Allow reordering of vectorization trees with reused instructions..

Rebase against latest version.

Apr 26 2018, 11:35 AM
ABataev added a comment to D46126: [SLP] Vectorize transposable binary operand bundles.

Will it work correctly if some of the operations are used several times in the bundles? It would be good to have the tests for this kind of situation.

Apr 26 2018, 10:52 AM

Apr 25 2018

ABataev added a comment to D46071: Representing the target device information in the LLVM IR.

Hmm, I don't think this is correct. I think it is against the OpenMP standard.
According to OpenMP 4.5:
When an original variable is mapped to a device data environment and the associated 19 corresponding variable is not present in the device data environment, a new corresponding variable 20 (of the same type and size as the original variable) is created in the device data environment.

Apr 25 2018, 11:47 AM
ABataev added a dependency for D46061: [DEBUGINFO, NVPTX] Disable emission of ',debug' option if only debug directives are allowed.: D46021: [DEBUGINFO] Disable emission of the dwarf sections, but allow directives..
Apr 25 2018, 7:04 AM
ABataev added a dependent revision for D46021: [DEBUGINFO] Disable emission of the dwarf sections, but allow directives.: D46061: [DEBUGINFO, NVPTX] Disable emission of ',debug' option if only debug directives are allowed..
Apr 25 2018, 7:04 AM
ABataev created D46061: [DEBUGINFO, NVPTX] Disable emission of ',debug' option if only debug directives are allowed..
Apr 25 2018, 7:03 AM

Apr 24 2018

ABataev added a comment to D46021: [DEBUGINFO] Disable emission of the dwarf sections, but allow directives..

Sorry, I'm a bit confused.

  1. I'd expect /this/ behavior (line table directives, but no debug_info, etc) to be controlled via a DICompileUnit emission kind (a value between "NoDebug" and "LineTablesOnly" as Paul mentioned).
  2. I'd expect the "no ', debug'" flag (which I don't see in this change? Is it missing? is it elsewhere?) to be controlled via an MCOption - because it must be global.

    Now, arguably, if we have the global "no ', debug'" flag we maybe might as well use it to implement this behavior too since we don't have any other use for it? So maybe (2) invalidates (1).
Apr 24 2018, 10:08 AM
ABataev created D46021: [DEBUGINFO] Disable emission of the dwarf sections, but allow directives..
Apr 24 2018, 9:21 AM
ABataev abandoned D45782: [DEBUGINFO, NVPTX] Allow to disable debug info from command line..

Need to rework the solution after discussion with David Blaike and Paul Robinson.

Apr 24 2018, 9:11 AM

Apr 23 2018

ABataev committed rC330634: [OPENMP] Formatting and code improvement, NFC..
[OPENMP] Formatting and code improvement, NFC.
Apr 23 2018, 12:56 PM
ABataev committed rL330634: [OPENMP] Formatting and code improvement, NFC..
[OPENMP] Formatting and code improvement, NFC.
Apr 23 2018, 12:56 PM
ABataev committed rC330620: [OPENMP] Do not cast captured by value variables with pointer types in.
[OPENMP] Do not cast captured by value variables with pointer types in
Apr 23 2018, 10:37 AM
ABataev committed rL330620: [OPENMP] Do not cast captured by value variables with pointer types in.
[OPENMP] Do not cast captured by value variables with pointer types in
Apr 23 2018, 10:37 AM
ABataev created D45963: [DEBUGINFO, NVPTX] Emit correct debug information for local variables..
Apr 23 2018, 7:30 AM
ABataev committed rL330592: [DEBUGINFO, NVPTX] Add the test for the debug info of the local.
[DEBUGINFO, NVPTX] Add the test for the debug info of the local
Apr 23 2018, 7:04 AM
ABataev added inline comments to D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops..
Apr 23 2018, 6:25 AM

Apr 19 2018

ABataev added a comment to D45782: [DEBUGINFO, NVPTX] Allow to disable debug info from command line..
In D45782#1072437, @tra wrote:

, debug should be removed to enable opt level > 0. I checked the ptxas, without , debug it just ignores DWARF sections, but with -lineinfo option it may generate correct data for the nvprof from .loc and .file directives.

Are you saying that enabling lineinfo debug also produces DWARF sections now and that's why we need the flag to ignore them if optimizations are enabled? Previously there was no need because we were emitting only .loc and .file.

Apr 19 2018, 11:27 AM