Page MenuHomePhabricator

jdoerfert (Johannes Doerfert)
Argonne National Laboratory

Projects

User does not belong to any projects.

User Details

User Since
Jan 30 2014, 6:27 AM (346 w, 21 h)

Recent Activity

Yesterday

jdoerfert accepted D87866: IR: Move denormal mode parsing from MachineFunction to Function.

LGTM, one nit you might want to consider

Thu, Sep 17, 5:19 PM · Restricted Project
jdoerfert added a comment to D87854: [SCEV] Use information from assume for BE taken count..

commit message?

Thu, Sep 17, 1:52 PM · Restricted Project
jdoerfert added a comment to D83004: [UpdateCCTestChecks] Include generated functions if asked.

This works for me. @arichardson you want to continue the review or should we take this and if needed improve upon it in subsequent patches?

Thu, Sep 17, 1:48 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D87841: [openmp][libomptarget] Include header from LLVM source tree.

As openmp and llvm are now developed in the same monorepo, the only uses this
dependency can break are those that download the monorepo, then delete the llvm
directory before calling cmake. That is not a compelling use case.

That is factually not accurate.
There are standalone tarballs, including one for omp:
https://releases.llvm.org/download.html#10.0.1 OpenMP Source code (.sig)

Thu, Sep 17, 12:14 PM · Restricted Project, Restricted Project

Wed, Sep 16

jdoerfert committed rG5c1084e8840b: [OpenMP] Context selector extensions for template functions (authored by jdoerfert).
[OpenMP] Context selector extensions for template functions
Wed, Sep 16, 11:40 AM
jdoerfert committed rG56069b5c71ca: [OpenMP] Support `std::complex` math functions in target regions (authored by jdoerfert).
[OpenMP] Support `std::complex` math functions in target regions
Wed, Sep 16, 11:40 AM
jdoerfert committed rG97652202d1e6: [OpenMP] Overload `std::isnan` and friends multiple times for the GPU (authored by jdoerfert).
[OpenMP] Overload `std::isnan` and friends multiple times for the GPU
Wed, Sep 16, 11:40 AM
jdoerfert committed rGc4b7a1da9d87: [OpenMP] Context selector extensions for return value overloading (authored by jdoerfert).
[OpenMP] Context selector extensions for return value overloading
Wed, Sep 16, 11:40 AM
jdoerfert closed D85777: [OpenMP] Support std::complex math functions in target regions.
Wed, Sep 16, 11:40 AM · Restricted Project
jdoerfert committed rG5c63ae156e96: [OpenMP] Support nested OpenMP context selectors (declare variant) (authored by jdoerfert).
[OpenMP] Support nested OpenMP context selectors (declare variant)
Wed, Sep 16, 11:40 AM
jdoerfert closed D85735: [OpenMP] Context selector extensions for template functions.
Wed, Sep 16, 11:40 AM · Restricted Project, Restricted Project
jdoerfert committed rG6a02932becae: [OpenMP][FIX] Do not crash trying to print a missing (demangled) user condition (authored by jdoerfert).
[OpenMP][FIX] Do not crash trying to print a missing (demangled) user condition
Wed, Sep 16, 11:40 AM
jdoerfert committed rG05fd04eda4b2: [OpenMP][FIX] Do not drop a '$' while demangling declare variant names (authored by jdoerfert).
[OpenMP][FIX] Do not drop a '$' while demangling declare variant names
Wed, Sep 16, 11:40 AM
jdoerfert closed D85879: [OpenMP] Overload `std::isnan` and friends multiple times for the GPU.
Wed, Sep 16, 11:40 AM · Restricted Project
jdoerfert closed D85878: [OpenMP] Context selector extensions for return value overloading.
Wed, Sep 16, 11:40 AM · Restricted Project, Restricted Project
jdoerfert closed D85877: [OpenMP] Support nested OpenMP context selectors (declare variant).
Wed, Sep 16, 11:40 AM · Restricted Project
jdoerfert committed rGdbde3969ba8e: [UpdateTestChecks][NFC] Fix spelling (authored by jdoerfert).
[UpdateTestChecks][NFC] Fix spelling
Wed, Sep 16, 11:40 AM
jdoerfert closed D85876: [OpenMP][FIX] Do not drop a '$' while demangling declare variant names.
Wed, Sep 16, 11:40 AM · Restricted Project
jdoerfert closed D85875: [OpenMP][FIX] Do not crash trying to print a missing (demangled) user condition.
Wed, Sep 16, 11:39 AM · Restricted Project
jdoerfert accepted D82995: [UpdateTestChecks] Allow $ in function names.

LGTM. Thx for the many tests.

Wed, Sep 16, 8:06 AM · Restricted Project

Tue, Sep 15

jdoerfert accepted D87301: [IRSim][IROutliner] Adding consistent function attribute merging.

LGTM

Tue, Sep 15, 10:22 PM · Restricted Project
jdoerfert added inline comments to D87301: [IRSim][IROutliner] Adding consistent function attribute merging.
Tue, Sep 15, 10:02 PM · Restricted Project
jdoerfert added a comment to D87623: [CGSCC][NewPM] Fix adding mutually recursive new functions.

We have quite a few "outlining" passes but most are module passes I suppose.
Assuming we want to work towards CGSCC passes, and maybe, maybe parallelize them at some point, we should allow proper updates of the CG.

Tue, Sep 15, 7:14 PM · Restricted Project
jdoerfert added a comment to D87623: [CGSCC][NewPM] Fix adding mutually recursive new functions.

I'd like to revisit this and open a discussion.

Tue, Sep 15, 6:44 PM · Restricted Project
jdoerfert accepted D87623: [CGSCC][NewPM] Fix adding mutually recursive new functions.

LGTM

Tue, Sep 15, 3:31 PM · Restricted Project
jdoerfert added a comment to D87260: [OpenMPOpt][SplitMemTransfer] Can move setup instructions upwards?.

tests?

Tue, Sep 15, 2:50 PM · Restricted Project
jdoerfert accepted D87722: [OpenMP] Additional Information for Libomptarget Device Mappings.

LGTM

Tue, Sep 15, 2:50 PM · Restricted Project
jdoerfert added inline comments to rG78de7297abe2: Reland [AssumeBundles] Use operand bundles to encode alignment assumptions.
Tue, Sep 15, 1:49 PM
jdoerfert added inline comments to D87722: [OpenMP] Additional Information for Libomptarget Device Mappings.
Tue, Sep 15, 1:47 PM · Restricted Project
jdoerfert added inline comments to D87623: [CGSCC][NewPM] Fix adding mutually recursive new functions.
Tue, Sep 15, 1:31 PM · Restricted Project
jdoerfert added a comment to D83004: [UpdateCCTestChecks] Include generated functions if asked.

Due to D82995 I realized we should have a test of this in llvm/test/tools/UpdateTestChecks as well.

Do you mean a test for recognizing the option in common.py? I'm not sure what you're asking for here.

Tue, Sep 15, 10:19 AM · Restricted Project, Restricted Project

Mon, Sep 14

jdoerfert added a comment to D76211: OpenMP Metadirective with user defined condition.

Some comments but I haven't gone through all of it. The tests are still missing.

Mon, Sep 14, 9:36 PM · Restricted Project, Restricted Project, Restricted Project
jdoerfert added a comment to D87340: [EarlyCSE] Handle masked loads and stores.

This should be NFC for everything that doesn't involve masked loads/stores.

Mon, Sep 14, 9:26 PM · Restricted Project
jdoerfert accepted D86816: [LoopDelete][Assume] Allow deleting loops with assumes.

OK, I think we need to revisit assume but an otherwise empty loop with an assume doesn't seem to be particularly useful. We might want to hoist loop invariant assumes, but that can be revisited. I think this solves a problem and is reasonable until we have time and ideas.

Mon, Sep 14, 9:25 PM · Restricted Project
jdoerfert added a comment to D87623: [CGSCC][NewPM] Fix adding mutually recursive new functions.

Does it make sense to copy the unit test and keep the original one as well?

Mon, Sep 14, 9:21 PM · Restricted Project
jdoerfert added a comment to D86071: [MLIR][OpenMP] Add omp.do operation.

I forgot to submit the first part of this response a few days ago, apologies.

Mon, Sep 14, 9:18 PM · Restricted Project, Restricted Project

Fri, Sep 11

jdoerfert added a comment to D86071: [MLIR][OpenMP] Add omp.do operation.

Sure: http://lists.flang-compiler.org/pipermail/flang-dev_lists.flang-compiler.org/2019-May/000197.html

@jdoerfert This is probably the old flang-dev mailing list.

Is it OK for @jdoerfert and @ftynse If I initiate the discussion in discourse?

Fri, Sep 11, 10:36 AM · Restricted Project, Restricted Project
jdoerfert added a comment to D86071: [MLIR][OpenMP] Add omp.do operation.

It has to be the OpenMPIRBuilder that lowers it into a CFG (eventually) because it is not "a fortran/mlir/affine/... loop" but an OpenMP worksharing loop with all what that entails.

If there is an OpenMPIRBuilder::CreateForLoop or a plan to have it? So far, it looks a there is a non-negligible amount of code in Clang that emits the IR for loops, and replicating that code in mlir-translate is a no go.

It has to be the OpenMPIRBuilder that lowers it into a CFG (eventually) because it is not "a fortran/mlir/affine/... loop" but an OpenMP worksharing loop with all what that entails.

If there is an OpenMPIRBuilder::CreateForLoop or a plan to have it?

Yes.

Is there a written version somewhere we can see?

A written version of the plan? Yes. A written version of the code, not yet.

Could you post a link?

Fri, Sep 11, 6:48 AM · Restricted Project, Restricted Project
jdoerfert added a comment to D86071: [MLIR][OpenMP] Add omp.do operation.

It has to be the OpenMPIRBuilder that lowers it into a CFG (eventually) because it is not "a fortran/mlir/affine/... loop" but an OpenMP worksharing loop with all what that entails.

If there is an OpenMPIRBuilder::CreateForLoop or a plan to have it? So far, it looks a there is a non-negligible amount of code in Clang that emits the IR for loops, and replicating that code in mlir-translate is a no go.

It has to be the OpenMPIRBuilder that lowers it into a CFG (eventually) because it is not "a fortran/mlir/affine/... loop" but an OpenMP worksharing loop with all what that entails.

If there is an OpenMPIRBuilder::CreateForLoop or a plan to have it?

Yes.

Is there a written version somewhere we can see?

Fri, Sep 11, 5:16 AM · Restricted Project, Restricted Project

Thu, Sep 10

jdoerfert added a comment to D87413: [OpenMP] Load plugins from same directory as the libomptarget.so.

See comments below. High-level: Why don't we say FullPluginName = Name, then try to load, if that fails, get the CWD and prepend it to FullPluginName before trying again. So LoadLibFromCWD will become bool getOrCreateCWD(std::string &CachedCWD) { if (CachedCWD) return true; ... } and a lot of the logic should be simpler. Also consider moving the actual loading part DP("Loading library '%s'...\n", Name); void *dynlib_handle = dlopen(Name, RTLD_NOW); into a helper so you can just call it twice instead of duplicating logic there again.

Thu, Sep 10, 11:51 AM · Restricted Project
jdoerfert added a comment to D86071: [MLIR][OpenMP] Add omp.do operation.

It has to be the OpenMPIRBuilder that lowers it into a CFG (eventually) because it is not "a fortran/mlir/affine/... loop" but an OpenMP worksharing loop with all what that entails.

If there is an OpenMPIRBuilder::CreateForLoop or a plan to have it? So far, it looks a there is a non-negligible amount of code in Clang that emits the IR for loops, and replicating that code in mlir-translate is a no go.

Thu, Sep 10, 10:50 AM · Restricted Project, Restricted Project
jdoerfert added a comment to D86071: [MLIR][OpenMP] Add omp.do operation.

What exactly do you expect to do with OpenMP worksharing loops on this level which is problematic with CFGs?

It's the inverse that is problematic: having loop ops where CFG is expected. I would like to avoid seeing something like

omp.do <...> {
  omp.for %i = <...> {
    llvm.store <...>
    // other LLVM operations here
  }
}
// LLVM operations as CFG here

go into mlir-translate, which will have to outline and lower the loop during _translation_ in this case.

Thu, Sep 10, 10:12 AM · Restricted Project, Restricted Project
jdoerfert added a comment to D86071: [MLIR][OpenMP] Add omp.do operation.

In particular, it is not clear to me how this construct will connect to loops and what the lowering flow is. Does it expect an scf.for/scf.parallel as the only nested op? Is there a plan for a separate omp.for? How long do loops persist when we go to LLVM, given that OpenMPIRBuilder does not handle loop constructs and we really want to avoid converting loops to CFG during MLIR->LLVM IR translation.

Thu, Sep 10, 9:01 AM · Restricted Project, Restricted Project
jdoerfert added inline comments to D87247: [MLIR,OpenMP] Added support for lowering MasterOp to LLVMIR.
Thu, Sep 10, 8:40 AM · Restricted Project
jdoerfert added inline comments to D87247: [MLIR,OpenMP] Added support for lowering MasterOp to LLVMIR.
Thu, Sep 10, 8:16 AM · Restricted Project

Wed, Sep 9

jdoerfert requested review of D87432: [Attributor] Disable the MustBeExecutedContext by default.
Wed, Sep 9, 10:18 PM · Restricted Project
jdoerfert updated subscribers of D87149: [InstCombine] erase instructions leading up to unreachable.

[...]

Given that, it seems very hard to argue that a volatile memory access must not trap, and must not unwind the stack -- signal handlers are allowed to do that, and it seems like a long held valid use case for volatile access to memory is to trigger a specific signal handler. Perhaps this use case just didn't come up in the prior discussions?

Wed, Sep 9, 8:08 PM · Restricted Project
jdoerfert added inline comments to D87413: [OpenMP] Load plugins from same directory as the libomptarget.so.
Wed, Sep 9, 4:57 PM · Restricted Project
jdoerfert added inline comments to D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`.
Wed, Sep 9, 1:23 PM · Restricted Project
jdoerfert added inline comments to D87306: [AttributeFuncs] Consider `noundef` in `typeIncompatible`.
Wed, Sep 9, 1:22 PM · Restricted Project
jdoerfert updated the diff for D87306: [AttributeFuncs] Consider `noundef` in `typeIncompatible`.

Rebase on top of D87304

Wed, Sep 9, 1:19 PM · Restricted Project
jdoerfert added a comment to D87149: [InstCombine] erase instructions leading up to unreachable.

Regarding access to volatile memory...

If volatile memory access is known to not trap, then the guidance on LLVM's own blog is wrong:
https://blog.llvm.org/posts/2011-05-13-what-every-c-programmer-should-know/

Wed, Sep 9, 12:11 PM · Restricted Project
jdoerfert added a reverting change for rG2600c9e2efce: [Attributor] Re-enable a run line in noalias.ll: rGa2cb5448014b: Revert "[Attributor] Re-enable a run line in noalias.ll".
Wed, Sep 9, 11:31 AM
jdoerfert committed rGa2cb5448014b: Revert "[Attributor] Re-enable a run line in noalias.ll" (authored by jdoerfert).
Revert "[Attributor] Re-enable a run line in noalias.ll"
Wed, Sep 9, 11:31 AM
jdoerfert added a reverting change for D87266: [Attributor] Re-enable a run line in noalias.ll: rGa2cb5448014b: Revert "[Attributor] Re-enable a run line in noalias.ll".
Wed, Sep 9, 11:31 AM · Restricted Project
jdoerfert added a comment to D87149: [InstCombine] erase instructions leading up to unreachable.

Although executing __builtin_unreachable is undefined, removing the code before it deletes their side effects.

I believe this behavior is correct. LangRef explicitly states that execution continues past a volatile store. As such, unreachable must be reached, which is undefined behavior. As such, we are free to optimize as we wish, including removing a preceding volatile store.

I think the problem is if that reaching unreachable instructions is undefined means the behavior when a program hits builtin_unreachable is undefined and the behavior before builtin_unreachable is hit is also undefined.

The behavior when a program hits __builtin_unreachable is definitely undefined, because a runtime can abort or hang or keep on going. The LangRef does not define it.

Wed, Sep 9, 11:06 AM · Restricted Project
jdoerfert added a comment to D87149: [InstCombine] erase instructions leading up to unreachable.

@lebedev.ri I don't think the printf() case is any different. Keep in mind that undefined behavior acts retroactively, so if we know that unreachable will be executed later, we are free to optimize away side-effects before it as well. (If printf is not considered willreturn, then we cannot optimize it away, and won't.)

IOW you are saying that in https://godbolt.org/z/TEo6oj tail call void @_Z5errorv() should ideally be optimized out?

Wed, Sep 9, 9:44 AM · Restricted Project
jdoerfert added a comment to D87149: [InstCombine] erase instructions leading up to unreachable.

@lebedev.ri I don't think the printf() case is any different. Keep in mind that undefined behavior acts retroactively, so if we know that unreachable will be executed later, we are free to optimize away side-effects before it as well. (If printf is not considered willreturn, then we cannot optimize it away, and won't.)

Wed, Sep 9, 9:42 AM · Restricted Project
jdoerfert added reviewers for D87306: [AttributeFuncs] Consider `noundef` in `typeIncompatible`: lebedev.ri, spatel, xbolva00.
Wed, Sep 9, 8:50 AM · Restricted Project
jdoerfert added reviewers for D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`: lebedev.ri, spatel, xbolva00.
Wed, Sep 9, 8:49 AM · Restricted Project
jdoerfert reopened D87266: [Attributor] Re-enable a run line in noalias.ll.

This broke the windows bot, I'm pushing the revert as soon as my tests come back.

Wed, Sep 9, 8:48 AM · Restricted Project
jdoerfert accepted D87165: [OpenMP] Begin Printing Information Dumps In Libomptarget and Plugins.

LGTM

Wed, Sep 9, 8:45 AM · Restricted Project
jdoerfert accepted D86558: [OPENMP]Add support for allocate vars in untied tasks..

LGTM

Wed, Sep 9, 8:15 AM · Restricted Project

Tue, Sep 8

jdoerfert committed rGf9ea4501b861: [Attributor][NFC] Improve check lines in depgraph.ll (authored by jdoerfert).
[Attributor][NFC] Improve check lines in depgraph.ll
Tue, Sep 8, 11:41 PM
jdoerfert committed rGd445b6dfec13: [Attributor] Cleanup `::initialize` of various AAs (authored by jdoerfert).
[Attributor] Cleanup `::initialize` of various AAs
Tue, Sep 8, 11:41 PM
jdoerfert committed rG849146ba93fe: [Attributor] Associate the callback callee with a call site argument (if any) (authored by jdoerfert).
[Attributor] Associate the callback callee with a call site argument (if any)
Tue, Sep 8, 10:56 PM
jdoerfert committed rGcefd2a2c7058: [Attributor] Cleanup `IRPosition::getArgNo` usages (authored by jdoerfert).
[Attributor] Cleanup `IRPosition::getArgNo` usages
Tue, Sep 8, 10:55 PM
jdoerfert committed rGc0ab901bddd5: [Attributor] Selectively look at the callee even when there are operand bundles (authored by jdoerfert).
[Attributor] Selectively look at the callee even when there are operand bundles
Tue, Sep 8, 10:55 PM
jdoerfert committed rG2600c9e2efce: [Attributor] Re-enable a run line in noalias.ll (authored by jdoerfert).
[Attributor] Re-enable a run line in noalias.ll
Tue, Sep 8, 10:55 PM
jdoerfert closed D87266: [Attributor] Re-enable a run line in noalias.ll.
Tue, Sep 8, 10:55 PM · Restricted Project
jdoerfert committed rGd5d75f61e5fb: [Attributor] Provide a command line option that limits recursion depth (authored by jdoerfert).
[Attributor] Provide a command line option that limits recursion depth
Tue, Sep 8, 10:55 PM
jdoerfert accepted D85762: [OPENMP]Do not allow threadprivates as base for array-like reduction..

LGTM

Tue, Sep 8, 9:57 PM · Restricted Project
jdoerfert accepted D84887: [OPENMP]Fix codegen for is_device_ptr component, captured by reference..

LGTM

Tue, Sep 8, 9:54 PM · Restricted Project
jdoerfert added inline comments to D87301: [IRSim][IROutliner] Adding consistent function attribute merging.
Tue, Sep 8, 12:26 PM · Restricted Project
jdoerfert updated subscribers of D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`.
Tue, Sep 8, 12:20 PM · Restricted Project
jdoerfert updated the diff for D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`.

@serge-sans-paille did update the .bc file, many thanks!

Tue, Sep 8, 12:20 PM · Restricted Project
jdoerfert abandoned D86157: [DeadArgElim][FIX] Drop more attributes when the return type changes.

Split into D87304 and D87306

Tue, Sep 8, 11:27 AM · Restricted Project
jdoerfert requested review of D87306: [AttributeFuncs] Consider `noundef` in `typeIncompatible`.
Tue, Sep 8, 11:27 AM · Restricted Project
jdoerfert requested review of D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`.
Tue, Sep 8, 11:18 AM · Restricted Project
jdoerfert added inline comments to D87301: [IRSim][IROutliner] Adding consistent function attribute merging.
Tue, Sep 8, 11:13 AM · Restricted Project
jdoerfert updated subscribers of D68484: [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation..
Tue, Sep 8, 10:36 AM · Restricted Project
jdoerfert added a comment to D87061: Handle masked loads and stores in MemoryLocation/Dependence.

Can you pre-commit the test so we can see the changes. Make it an NFC change w/o review.

Tue, Sep 8, 8:31 AM · Restricted Project
jdoerfert added a comment to D87165: [OpenMP] Begin Printing Information Dumps In Libomptarget and Plugins.

Added the target kernel name and device ID to the message. Added a new method to get the offload entry given the pointer. I can't decide if it's better to just always print the device ID if we have it versus putting it in the macro itself.

Tue, Sep 8, 8:23 AM · Restricted Project
jdoerfert added a comment to D86127: [Attributor] Make AAMemoryLocationCallSite behavior sane.

ping

Tue, Sep 8, 8:10 AM · Restricted Project
jdoerfert added a comment to D87260: [OpenMPOpt][SplitMemTransfer] Can move setup instructions upwards?.

Tests?

The regression test for this is hide_mem_transfer_latency.ll. But there's still the issue with the AAManager, so the test has the fixmes of where the set up instructions should be moved.

Tue, Sep 8, 8:08 AM · Restricted Project
jdoerfert added inline comments to D87271: [OpenMP] Fix if0 task with dependencies.
Tue, Sep 8, 8:04 AM · Restricted Project
jdoerfert accepted D85894: [BuildLibCalls] Add more noundef to library functions.

@eugenis accepted before and this looks OK to me.

Tue, Sep 8, 7:36 AM · Restricted Project

Mon, Sep 7

jdoerfert requested review of D87266: [Attributor] Re-enable a run line in noalias.ll.
Mon, Sep 7, 9:42 PM · Restricted Project
jdoerfert committed rG711bf7dcf954: [Attributor][FIX] Don't crash on internalizing linkonce_odr hidden functions (authored by jdoerfert).
[Attributor][FIX] Don't crash on internalizing linkonce_odr hidden functions
Mon, Sep 7, 9:41 PM
jdoerfert committed rG53e4ef7fc259: [Attributor][NFC] Cleanup internalize test case (authored by jdoerfert).
[Attributor][NFC] Cleanup internalize test case
Mon, Sep 7, 9:41 PM
jdoerfert committed rGe6208849c8d6: [Attributor][NFC] Change variable spelling (authored by jdoerfert).
[Attributor][NFC] Change variable spelling
Mon, Sep 7, 9:41 PM
jdoerfert committed rG8637acac5a3f: [Attributor][NFC] Clang tidy: no else after continue (authored by jdoerfert).
[Attributor][NFC] Clang tidy: no else after continue
Mon, Sep 7, 9:41 PM
jdoerfert committed rGff70c25d7656: [Attributor][NFC] Expand `auto` types (clang-fix-it) (authored by jdoerfert).
[Attributor][NFC] Expand `auto` types (clang-fix-it)
Mon, Sep 7, 9:41 PM
jdoerfert committed rG79651265b2e0: [Attributor][FIX] Properly return changed if the IR was modified (authored by jdoerfert).
[Attributor][FIX] Properly return changed if the IR was modified
Mon, Sep 7, 9:41 PM
jdoerfert updated subscribers of D87262: [Inliner] Apply llvm.loop.mustprogress to callee loops if callee is `mustprogress`.
Mon, Sep 7, 8:46 PM · Restricted Project
jdoerfert added a comment to D87262: [Inliner] Apply llvm.loop.mustprogress to callee loops if callee is `mustprogress`.

Add a test case with multiple loops in the caller and callee please. also nested ones. And one with the callee loop not having the metadata so we see it won't after.
And a test with both caller and callee having the attribute so no metadata is added.

Mon, Sep 7, 8:45 PM · Restricted Project
jdoerfert added a comment to D87260: [OpenMPOpt][SplitMemTransfer] Can move setup instructions upwards?.

Tests?

Mon, Sep 7, 6:31 PM · Restricted Project
jdoerfert updated subscribers of D87183: [SCCP] Compute ranges for supported intrinsics.

@okura @uenoku Can we copy this logic into AAConstantRange too?

Mon, Sep 7, 2:33 PM · Restricted Project
jdoerfert accepted D87250: [OpenMP] Fix typo in CodeGenFunction::EmitOMPWorksharingLoop (PR46412).

LGTM thx

Mon, Sep 7, 11:32 AM · Restricted Project

Sun, Sep 6

jdoerfert added a comment to D86157: [DeadArgElim][FIX] Drop more attributes when the return type changes.

This looks fine, but might be better to split up into 2 patches (1 for undef, 1 for align)? Small nit for the title: this patch fixes AttributeFuncs::typeIncompatible, which as a consequence fixes DeadArgElim, but potentially other places too. Might be good to reflect that in the title.

Sun, Sep 6, 10:53 AM · Restricted Project