Page MenuHomePhabricator

ronlieb (Ron Lieberman)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 24 2018, 5:18 PM (151 w, 6 d)

Recent Activity

Fri, Jun 18

ronlieb accepted D104549: [NFC][libomptarget] Remove redundant libelf dependency for elf_common..

works for me

Fri, Jun 18, 10:12 AM · Unknown Object (Project)
ronlieb accepted D104545: [NFC][libomptarget] Build elf_common with PIC..

worked for me

Fri, Jun 18, 9:14 AM · Unknown Object (Project)
ronlieb accepted D104535: [NFC][libomptarget] Fixed -DLLVM_ENABLE_RUNTIMES="openmp" build..

worked for me

Fri, Jun 18, 9:11 AM · Unknown Object (Project)
ronlieb added a comment to D103545: [NFC][libomptarget] Reduce the dependency on libelf.

Thank you, @ronlieb! I am able to reproduce it. It seems that LLVM_ENABLE_RUNTIMES behavior is quite different from the -DLLVM_ENABLE_PROJECTS="openmp" that I use (so I did not see this issue before). It seems to me that in LLVM_ENABLE_RUNTIMES mode, openmp is configured/built as a standalone project using clang built by the "main" cmake/build step, but for some reason OPENMP_STANDALONE_BUILD is false. I am not sure about the right solution yet. Can you please add openmp to your -DLLVM_ENABLE_PROJECTS="clang;lld" and remove "-DLLVM_ENABLE_RUNTIMES="openmp" as a temporary workaround?

Fri, Jun 18, 8:48 AM · Unknown Object (Project)
ronlieb accepted D104537: [Libomptarget] Add LLVM headers to elf plugin include directories.

lgtm, thanks for the fix

Fri, Jun 18, 7:44 AM · Unknown Object (Project)
ronlieb added a comment to D103545: [NFC][libomptarget] Reduce the dependency on libelf.

i forgot to mention that the first problem i encountered with this patch is that elf_common.cpp has difficulties finding its LLVM header files.
i am reporting that issue. For me, the fPIC relocatables might be a downstream issue, still looking into that one.

Fri, Jun 18, 5:32 AM · Unknown Object (Project)
ronlieb added a comment to D103545: [NFC][libomptarget] Reduce the dependency on libelf.

[AMD Official Use Only]

Fri, Jun 18, 3:58 AM · Unknown Object (Project)
ronlieb added a reviewer for D104512: [AMDGPU][Libomptarget] Remove redundant functions: carlo.bertolli.

@carlo.bertolli please review this patch

Fri, Jun 18, 3:09 AM · Unknown Object (Project)

Thu, Jun 17

ronlieb updated subscribers of D103545: [NFC][libomptarget] Reduce the dependency on libelf.

[AMD Official Use Only]

Thu, Jun 17, 3:48 PM · Unknown Object (Project)

Wed, Jun 9

ronlieb requested review of D104003: [libomptarget][amdgpu] Remove stray fprintf in rtl.cpp .
Wed, Jun 9, 6:20 PM · Unknown Object (Project)

Wed, May 26

ronlieb accepted D103190: [AMDGPU] Fix kernel LDS lowering for constants.
Wed, May 26, 11:10 AM · Restricted Project

May 12 2021

ronlieb accepted D102065: [AMDGPU][OpenMP] Emit textual IR for -emit-llvm -S.
May 12 2021, 4:20 AM · Restricted Project

May 10 2021

ronlieb accepted D101882: [OpenMP] Fix hidden helper + affinity assignment.

i can confirm 619.lbm looks better with the patch, peformance recovered,
thanks

May 10 2021, 4:41 PM · Unknown Object (Project)
ronlieb added a comment to D101882: [OpenMP] Fix hidden helper + affinity assignment.

i am testing your new patch.
i have no objection if you land what you have.
up to you.

May 10 2021, 4:33 PM · Unknown Object (Project)
ronlieb added a comment to D101882: [OpenMP] Fix hidden helper + affinity assignment.

sorry i missed the request for the verbose output, is that still needed from me ?

May 10 2021, 1:30 PM · Unknown Object (Project)

May 5 2021

ronlieb added a comment to D101882: [OpenMP] Fix hidden helper + affinity assignment.

Hi Joachim, welcome, happy to try again if you come up with another patch.
FI: our benchmark run depends on setting this env-var
export GOMP_CPU_AFFINITY = 0-127

May 5 2021, 5:52 AM · Unknown Object (Project)
ronlieb added a comment to D101882: [OpenMP] Fix hidden helper + affinity assignment.

testing results: 128 cores used.

May 5 2021, 5:38 AM · Unknown Object (Project)

Apr 27 2021

ronlieb accepted rG93604305bb72: Revert "Reapply "[AMDGPU][OpenMP] Add amdgpu-arch tool to list AMD GPUs….
Apr 27 2021, 2:42 AM

Apr 6 2021

ronlieb added a comment to D99997: [test-suite] Add HIP Tests to External.

Thanks for putting this together.
if i knew anything about buildbots i would approve it.
but best to defer to an expert.

Apr 6 2021, 3:54 PM

Mar 23 2021

ronlieb added a comment to D99020: [OpenMP] Disable hidden helper task by default.

planning to land this ?

Mar 23 2021, 8:35 AM · Unknown Object (Project)

Mar 21 2021

ronlieb added a comment to D99020: [OpenMP] Disable hidden helper task by default.

fpspeed base - looks good.

Mar 21 2021, 12:03 PM · Unknown Object (Project)
ronlieb accepted D99020: [OpenMP] Disable hidden helper task by default.

619.lbm looks good base and peak.
Testing all of fpspeed base, should have result in an hour or two.
but i think it is good.

Mar 21 2021, 10:54 AM · Unknown Object (Project)
ronlieb updated subscribers of D99020: [OpenMP] Disable hidden helper task by default.

[AMD Official Use Only - Internal Distribution Only]

Mar 21 2021, 9:57 AM · Unknown Object (Project)

Mar 20 2021

ronlieb added a comment to D99020: [OpenMP] Disable hidden helper task by default.

Thanks for putting up this change, just a few comments.

Mar 20 2021, 11:38 AM · Unknown Object (Project)

Mar 19 2021

ronlieb added a comment to D98838: [OpenMP] Fixed a crash in hidden helper thread.

The AMD AOCC Compiler team reported to me this morning that they are able to reproduce the SPEC CPU performance regressions when the patch is present.

Mar 19 2021, 5:42 AM · Unknown Object (Project)

Mar 18 2021

ronlieb added a comment to D98838: [OpenMP] Fixed a crash in hidden helper thread.

[AMD Public Use]

Mar 18 2021, 4:41 PM · Unknown Object (Project)
ronlieb added a comment to D98838: [OpenMP] Fixed a crash in hidden helper thread.

[AMD Public Use]

Mar 18 2021, 12:19 PM · Unknown Object (Project)
ronlieb added a comment to D98838: [OpenMP] Fixed a crash in hidden helper thread.

[AMD Public Use]

Mar 18 2021, 11:23 AM · Unknown Object (Project)
ronlieb added a comment to D98838: [OpenMP] Fixed a crash in hidden helper thread.

[AMD Public Use]

Mar 18 2021, 11:16 AM · Unknown Object (Project)
ronlieb added a comment to D98838: [OpenMP] Fixed a crash in hidden helper thread.

[AMD Public Use]

Mar 18 2021, 10:53 AM · Unknown Object (Project)
ronlieb added a comment to D98838: [OpenMP] Fixed a crash in hidden helper thread.

[AMD Official Use Only - Internal Distribution Only]

Mar 18 2021, 10:04 AM · Unknown Object (Project)
ronlieb updated subscribers of D98838: [OpenMP] Fixed a crash in hidden helper thread.

[AMD Official Use Only - Internal Distribution Only]

Mar 18 2021, 9:39 AM · Unknown Object (Project)

Mar 17 2021

ronlieb added a comment to D77609: [OpenMP] Added the support for hidden helper task in RTL.

Originally, yes SPEC CPU was intended to be single core/cpu or rate runs.
with the advent of spec cpu 2017 and the explosion of multicore, spec cpu decided to add openmp to speed benchmarks so that compilers could utilize more cores.
The benchmark have openmp pragmas/directives

Mar 17 2021, 9:11 AM · Unknown Object (Project)
ronlieb added a comment to D77609: [OpenMP] Added the support for hidden helper task in RTL.

i tried using
export LIBOMP_USE_HIDDEN_HELPER_TASK=0 and rebuilding/rerunning spec cpu2017 fpspeed base.

Mar 17 2021, 7:50 AM · Unknown Object (Project)

Mar 16 2021

ronlieb added a comment to D77609: [OpenMP] Added the support for hidden helper task in RTL.

[AMD Official Use Only - Internal Distribution Only]

Mar 16 2021, 4:23 PM · Unknown Object (Project)
ronlieb added a comment to D77609: [OpenMP] Added the support for hidden helper task in RTL.

latest trunk has the assert in question at line 3651
3638 } else {

3639      /* find an available thread slot */
3640      // Don't reassign the zero slot since we need that to only be used by
3641      // initial thread. Slots for hidden helper threads should also be skipped.
3642      if (initial_thread && __kmp_threads[0] == NULL) {
3643        gtid = 0;
3644      } else {
3645        for (gtid = __kmp_hidden_helper_threads_num + 1;
3646             TCR_PTR(__kmp_threads[gtid]) != NULL; gtid++)
3647          ;
3648      }
3649      KA_TRACE(
3650          1, ("__kmp_register_root: found slot in threads array: T#%d\n", gtid));
3651      KMP_ASSERT(gtid < __kmp_threads_capacity);
3652    }
Mar 16 2021, 8:31 AM · Unknown Object (Project)

Mar 15 2021

ronlieb updated subscribers of D77609: [OpenMP] Added the support for hidden helper task in RTL.

[AMD Official Use Only - Internal Distribution Only]

Mar 15 2021, 12:53 PM · Unknown Object (Project)
ronlieb added a comment to D77609: [OpenMP] Added the support for hidden helper task in RTL.

Post commit issue:
Our downstream testing of our release branch revealed an assertion in kmp_runtime.cpp while compiling our rocFFT application
The rocFFT application does not use openmp offload, rather it uses HIP, and host openmp threads.
When we reverted this patch locally it allowed the application to compile and run succesfullly.

root@ixt-sjc2-13:/root/Staging/MathLibs/rocFFT/build/release/clients/staging# cd /root/Staging/MathLibs/rocFFT/build/release/clients/staging; ./rocfft-test --gtest_filter=rocfft_UnitTest.simple_multithread_1D
rocFFT version: 1.0.9.a07759d-dirty
Note: Google Test filter = rocfft_UnitTest.simple_multithread_1D
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from rocfft_UnitTest
[ RUN ] rocfft_UnitTest.simple_multithread_1D
OMP: Error #13: Assertion failure at kmp_runtime.cpp(3691).

Mar 15 2021, 12:26 PM · Unknown Object (Project)
ronlieb accepted D96769: [OpenMP][AMDGPU] Skip backend and assemble phases for amdgcn.

LGTM

Mar 15 2021, 10:23 AM · Restricted Project

Feb 19 2021

ronlieb committed rG30c0d5b4c3f8: [OPENMP][AMDGCN] Improvements to print_kernel_trace (bit mask) (authored by ronlieb).
[OPENMP][AMDGCN] Improvements to print_kernel_trace (bit mask)
Feb 19 2021, 3:48 AM
ronlieb closed D96998: [OPENMP][AMDGCN] Improvements to print_kernel_trace (bit mask).
Feb 19 2021, 3:48 AM · Unknown Object (Project)
ronlieb added a comment to D96998: [OPENMP][AMDGCN] Improvements to print_kernel_trace (bit mask).

@jdoerfert acceptable?

Feb 19 2021, 2:59 AM · Unknown Object (Project)

Feb 18 2021

ronlieb updated the diff for D96998: [OPENMP][AMDGCN] Improvements to print_kernel_trace (bit mask).

added license, and clang-format-ed new file

Feb 18 2021, 3:24 PM · Unknown Object (Project)
ronlieb requested review of D96998: [OPENMP][AMDGCN] Improvements to print_kernel_trace (bit mask).
Feb 18 2021, 2:28 PM · Unknown Object (Project)

Feb 1 2021

ronlieb added inline comments to D95752: [OpenMP][DeviceRTL] Extract shuffle idiom and port it to declare variant.
Feb 1 2021, 5:01 PM · Unknown Object (Project)
ronlieb added inline comments to D95752: [OpenMP][DeviceRTL] Extract shuffle idiom and port it to declare variant.
Feb 1 2021, 3:24 PM · Unknown Object (Project)

Jan 26 2021

ronlieb accepted D95467: [libomptarget][cuda] Only run tests when sure there is cuda available.
Jan 26 2021, 11:58 AM · Unknown Object (Project)

Jan 25 2021

ronlieb accepted D95389: AMDGPU: Revert "[IndirectFunctions] Skip propagating attributes to address taken functions".

LGTM

Jan 25 2021, 12:55 PM · Restricted Project

Jan 14 2021

ronlieb requested review of D94695: [libomptarget][amdgpu] Fix kernel launch tracing to match previous behavior.
Jan 14 2021, 8:53 AM · Unknown Object (Project)

Jan 12 2021

ronlieb accepted D94528: [libomptarget][amdgpu][nfc] Fix build on centos.

LGTM

Jan 12 2021, 11:17 AM · Unknown Object (Project)

Jan 4 2021

ronlieb accepted D93356: [libomptarget][amdgpu] Call into deviceRTL instead of ockl.

lgtm

Jan 4 2021, 8:10 AM · Unknown Object (Project), Restricted Project

Oct 19 2020

ronlieb accepted D89725: [libomptarget][amdgcn] Implement missing symbols in deviceRTL.

lgtm

Oct 19 2020, 4:13 PM · Unknown Object (Project)

Sep 17 2020

ronlieb accepted D84470: [OpenMP 5.0] Fix user-defined mapper privatization in tasks.

accepted. not sure if there were any outstanding comments from Johannes. your call

Sep 17 2020, 6:21 AM · Restricted Project

Sep 16 2020

ronlieb added a comment to D84470: [OpenMP 5.0] Fix user-defined mapper privatization in tasks.

The latest patch applied cleanly to our downstream port.
builds fine, tests very nicely as well. All the failing SOLLVE task wait depend tests now pass.

Sep 16 2020, 2:57 PM · Restricted Project

Sep 15 2020

ronlieb added a comment to D84470: [OpenMP 5.0] Fix user-defined mapper privatization in tasks.

[AMD Official Use Only - Internal Distribution Only]

Sep 15 2020, 12:24 PM · Restricted Project

Sep 8 2020

ronlieb added a comment to D84470: [OpenMP 5.0] Fix user-defined mapper privatization in tasks.

i applied this patch to our downstream build for amdgcn. it resolves the problem i was seeing with traps on tests with task wait depend tests from sollve.
perhaps rebase it to latest llvm.

Sep 8 2020, 10:36 AM · Restricted Project

Aug 16 2020

ronlieb added inline comments to D85742: [libomptarget] Implement host plugin for amdgpu.
Aug 16 2020, 10:58 AM · Unknown Object (Project)

Jul 2 2020

ronlieb added a comment to D82267: [OpenMP][Tests] Fix/Mark compatibilty for GCC.

LGTM, would like Saiyed and Johannes to review and approve

Jul 2 2020, 7:31 AM · Unknown Object (Project)

Jun 26 2020

ronlieb accepted D82452: [OpenMP][Tool] Fix buffer overflow in ompt-multiplex.h.

LGTM, please commit

Jun 26 2020, 3:39 PM · Unknown Object (Project)

Jun 24 2020

ronlieb added a comment to D82452: [OpenMP][Tool] Fix buffer overflow in ompt-multiplex.h.

thanks for the quick response, lgtm.

Jun 24 2020, 5:22 AM · Unknown Object (Project)

Jun 20 2020

ronlieb added a comment to rG63a3c5925dc9: [OpenMP][OMPT] Pass mutexinoutset to the tool.

if its relevant, the llvm was built with gcc , but the test is of course compiled with clang

Jun 20 2020, 6:33 PM
ronlieb added a comment to rG63a3c5925dc9: [OpenMP][OMPT] Pass mutexinoutset to the tool.

Thx for the quick fix, this seems to have resolved my issue. LGTM

Jun 20 2020, 3:54 PM

Jun 2 2020

ronlieb added a comment to D80639: AMDGPU: Support non-entry block static sized allocas.

Johannes: here is a reduce source test case, let me know what else you might need?

Jun 2 2020, 8:48 PM · Restricted Project

Apr 24 2020

ronlieb committed rGee9c53d27106: [libomptarget] Initialize reference parameter IsNew within Device… (authored by ronlieb).
[libomptarget] Initialize reference parameter IsNew within Device…
Apr 24 2020, 2:07 PM
ronlieb closed D78744: [libomptarget] Initialize reference parameter IsNew within Device::getOrAllocTgtPtr.
Apr 24 2020, 2:06 PM · Unknown Object (Project)
ronlieb updated the diff for D78744: [libomptarget] Initialize reference parameter IsNew within Device::getOrAllocTgtPtr.

Modified patch to assign to IsNew on entry to Device::getOrAllocTgtPtr

Apr 24 2020, 4:49 AM · Unknown Object (Project)

Apr 23 2020

ronlieb created D78744: [libomptarget] Initialize reference parameter IsNew within Device::getOrAllocTgtPtr.
Apr 23 2020, 12:28 PM · Unknown Object (Project)

Nov 4 2019

ronlieb committed rGdc34b1c94df6: Test commit: adds a . to comment. NFC (authored by ronlieb).
Test commit: adds a . to comment. NFC
Nov 4 2019, 2:53 PM

Oct 2 2019

ronlieb added inline comments to D68369: Use named constant to indicate all lanes, to handle 32 and 64 wide architectures [NFC].
Oct 2 2019, 7:28 PM · Restricted Project, Unknown Object (Project)

Sep 9 2019

ronlieb accepted D66387: AMDGPU/GlobalISel: Implement LDS G_GLOBAL_VALUE.

LGTM

Sep 9 2019, 9:34 AM
ronlieb accepted D67354: AMDGPU/GlobalISel: Select llvm.amdgcn.class.

LGTM

Sep 9 2019, 9:27 AM
ronlieb accepted D67353: AMDGPU/GlobalISel: Select fmed3.

LGTM

Sep 9 2019, 9:21 AM

Aug 8 2019

ronlieb added a comment to D65836: Factor architecture dependent code out of loop.cu.

I like the general approach,

Aug 8 2019, 7:23 AM · Restricted Project, Unknown Object (Project)

Jul 17 2019

ronlieb committed rL366349: [OPENMP] Resolve lost LoopTripCnt for subsequent loops in same thread..
[OPENMP] Resolve lost LoopTripCnt for subsequent loops in same thread.
Jul 17 2019, 10:09 AM
ronlieb closed D64808: [OPENMMP] Resolve lost LoopTripCnt for subsequent loops in same thread..
Jul 17 2019, 10:09 AM · Restricted Project, Unknown Object (Project)
ronlieb added a comment to D64808: [OPENMMP] Resolve lost LoopTripCnt for subsequent loops in same thread..

Thanks folks, publishing now

Jul 17 2019, 7:01 AM · Restricted Project, Unknown Object (Project)
ronlieb added a comment to D64808: [OPENMMP] Resolve lost LoopTripCnt for subsequent loops in same thread..

@grokos any comments here please?
hoping to get this patch in before the 9.0 branch.

Jul 17 2019, 5:41 AM · Restricted Project, Unknown Object (Project)

Jul 16 2019

ronlieb updated the diff for D64808: [OPENMMP] Resolve lost LoopTripCnt for subsequent loops in same thread..
Jul 16 2019, 12:27 PM · Restricted Project, Unknown Object (Project)
ronlieb added inline comments to D64808: [OPENMMP] Resolve lost LoopTripCnt for subsequent loops in same thread..
Jul 16 2019, 12:14 PM · Restricted Project, Unknown Object (Project)
ronlieb added inline comments to D64808: [OPENMMP] Resolve lost LoopTripCnt for subsequent loops in same thread..
Jul 16 2019, 10:53 AM · Restricted Project, Unknown Object (Project)
ronlieb created D64808: [OPENMMP] Resolve lost LoopTripCnt for subsequent loops in same thread..
Jul 16 2019, 10:25 AM · Restricted Project, Unknown Object (Project)

May 28 2019

ronlieb added a comment to D62431: Fix OMP_TARGET_OFFLOAD parsing.

thanks for test, LGTM

May 28 2019, 1:41 PM · Unknown Object (Project)
ronlieb added a comment to D62431: Fix OMP_TARGET_OFFLOAD parsing.

one follow on question, is there value in adding a testcase for this patch ?

May 28 2019, 7:47 AM · Unknown Object (Project)

May 24 2019

ronlieb added a comment to D62431: Fix OMP_TARGET_OFFLOAD parsing.

looks like a good change
also consistent with some recent OpenMP language examples committee discussions on this topic.

May 24 2019, 3:41 PM · Unknown Object (Project)

May 17 2019

ronlieb abandoned D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.

Superseded by D61313

May 17 2019, 11:45 AM · Restricted Project

May 7 2019

ronlieb added a comment to D61313: [AMDGPU] detect WaW hazards when moving/merging load/store instructions.

This sure does look like the same problem to me. https://reviews.llvm.org/D60459

D60459 doesn't fix the issue.

May 7 2019, 8:54 AM · Restricted Project

May 3 2019

ronlieb added a comment to D61313: [AMDGPU] detect WaW hazards when moving/merging load/store instructions.

have you run all the lit tests on this patch ?

May 3 2019, 2:54 PM · Restricted Project
ronlieb added a comment to D61313: [AMDGPU] detect WaW hazards when moving/merging load/store instructions.

This sure does look like the same problem to me. https://reviews.llvm.org/D60459

May 3 2019, 5:10 AM · Restricted Project

Apr 18 2019

ronlieb retitled D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl from SILoadStoreOptimizer pass mischedules s_add,s_addc with interfering s_lshl to SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.
Apr 18 2019, 8:30 AM · Restricted Project
ronlieb updated the diff for D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.

Added use of LivePhysRegs, happily lifted some code Krzy wrote for Hexagon to compute getLiveRegsAt.

Apr 18 2019, 8:29 AM · Restricted Project

Apr 17 2019

ronlieb updated the diff for D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.

slightly generalized to some physical reg. only look at previous instruction.
The definition is either there, and were all good, or we will bail.

Apr 17 2019, 10:23 AM · Restricted Project

Apr 12 2019

ronlieb updated the diff for D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.
Apr 12 2019, 2:38 PM · Restricted Project
ronlieb added inline comments to D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.
Apr 12 2019, 2:38 PM · Restricted Project

Apr 11 2019

ronlieb added inline comments to D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.
Apr 11 2019, 12:51 PM · Restricted Project

Apr 10 2019

ronlieb updated the diff for D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.

added two MIR tests,and refined logic to properly bail.

Apr 10 2019, 8:02 AM · Restricted Project

Apr 9 2019

ronlieb added inline comments to D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.
Apr 9 2019, 6:01 PM · Restricted Project
ronlieb updated the diff for D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.

Added check for instr match missing, and bail on optimization if so.
I prefer the .ll test we have for the patch now over that of creating an MIR test for this issue.

Apr 9 2019, 4:58 PM · Restricted Project
ronlieb added a comment to D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.

i think bailing the optimization if not found within some reasonable distance (10 seems to be popular), is a good suggestion. Much better than aborting. thx

Apr 9 2019, 4:24 PM · Restricted Project
ronlieb added a comment to D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.

The current problem i am trying to resolve in somewhat analogous to hoisting 1/2 of the 64 bit add instruction pair. Although in this particular situation we are actually sinking 1/2 of the instruction pair into a later position within the same block. And yes, i can see how in the future a new machine instruction pass might choose to hoist one of the instructions into a pred BB. I realize i can write additional code to scan a previous block. However i think its better that passes not hoist part of an instruction pair, especially ones such as these. To that end i would rather see my patch assert so that we are forced to deal with such a situation should it arise.
Your example, btw, is a good one for why we should have an IR test for the current problem, rather than an MIR test. An MIR test that runs just before SILoadStoreOptimizer will not detect the affects of a new pass. Whereas the IR test attached to this patch stands a better chance of detecting the issue.

Apr 9 2019, 4:12 PM · Restricted Project
ronlieb added a comment to D60459: SILoadStoreOptimizer pass schedules s_add,s_addc with interfering s_lshl.

i agree it could happen. Not sure what to do about it here.

Apr 9 2019, 1:35 PM · Restricted Project