<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in OMPIRBuilder.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>35fc6668 - [OpenMP][IRBuilder] Add support for taskgroup</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#35fc6668</link>
        <description>[OpenMP][IRBuilder] Add support for taskgroupThis patch adds support for generating taskgroup construct.Reviewed By: MeinersburDifferential Revision: https://reviews.llvm.org/D128203

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Mon, 18 Jul 2022 09:55:54 +0000</pubDate>
        <dc:creator>Shraiysh Vaishay &lt;Shraiysh.Vaishay@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>ac892c70 - [OMPIRBuilder] Add support for simdlen clause</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#ac892c70</link>
        <description>[OMPIRBuilder] Add support for simdlen clauseThis patch adds OMPIRBuilder support for the simdlen clause for thesimd directive. It uses the simdlen support in OpenMPIRBuilder whenit is enabled in Clang. Simdlen is lowered by OpenMPIRBuilder bygenerating the loop.vectorize.width metadata.Reviewed By: jdoerfert, MeinersburDifferential Revision: https://reviews.llvm.org/D129149

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Mon, 11 Jul 2022 17:27:26 +0000</pubDate>
        <dc:creator>Prabhdeep Singh Soni &lt;prabhdeep.singh.soni2@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>1fff1166 - [OpenMP] Change OpenMP code generation for target region entries</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#1fff1166</link>
        <description>[OpenMP] Change OpenMP code generation for target region entriesThis patch changes the code we generate to enter a target region on thedevice. This is in-line with the new definition in the runtime that wasadded previously. Additionally we implement this in the OpenMPIRBuilderso that this code can be shared with Flang in the future.Reviewed By: ABataevDifferential Revision: https://reviews.llvm.org/D128550

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Fri, 24 Jun 2022 13:13:53 +0000</pubDate>
        <dc:creator>Joseph Huber &lt;jhuber6@vols.utk.edu&gt;</dc:creator>
    </item>
<item>
        <title>83837a61 - [Clang][OpenMP] Enable floating-point operation for `atomic compare` series</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#83837a61</link>
        <description>[Clang][OpenMP] Enable floating-point operation for `atomic compare` seriesD127041 introduced the support for `fmax` and `fmin` such that we can also reprent`atomic compare` and `atomic compare capture` with `atomicrmw` instruction. Thispatch simply lifts the limitation we set before.Depend on D127041.Reviewed By: ABataevDifferential Revision: https://reviews.llvm.org/D127042

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Wed, 06 Jul 2022 17:05:00 +0000</pubDate>
        <dc:creator>Shilei Tian &lt;i@tianshilei.me&gt;</dc:creator>
    </item>
<item>
        <title>1023ddaf - [LLVM] Add the support for fmax and fmin in atomicrmw instruction</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#1023ddaf</link>
        <description>[LLVM] Add the support for fmax and fmin in atomicrmw instructionThis patch adds the support for `fmax` and `fmin` operations in `atomicrmw`instruction. For now (at least in this patch), the instruction will be expandedto CAS loop. There are already a couple of targets supporting the feature. I&apos;llcreate another patch(es) to enable them accordingly.Reviewed By: arsenmDifferential Revision: https://reviews.llvm.org/D127041

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Wed, 06 Jul 2022 14:57:24 +0000</pubDate>
        <dc:creator>Shilei Tian &lt;i@tianshilei.me&gt;</dc:creator>
    </item>
<item>
        <title>fdf505f3 - [mlir][OpenMP] omp.task translation to LLVM IR</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#fdf505f3</link>
        <description>[mlir][OpenMP] omp.task translation to LLVM IRThis patch adds translation for omp.task from OpenMPDialect to LLVM IRDialect and adds tests for the same.Depends on D71989Reviewed By: ftynse, kiranchandramohan, peixin, MeinersburDifferential Revision: https://reviews.llvm.org/D123919

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Mon, 04 Jul 2022 08:22:35 +0000</pubDate>
        <dc:creator>Shraiysh Vaishay &lt;Shraiysh.Vaishay@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>f62badda - [OpenMP][IRBuilder] Add final clause to task</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#f62badda</link>
        <description>[OpenMP][IRBuilder] Add final clause to taskThis patch adds final clause to OpenMP IR Builder.Reviewed By: MeinersburDifferential Revision: https://reviews.llvm.org/D126626

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Fri, 10 Jun 2022 17:37:18 +0000</pubDate>
        <dc:creator>Shraiysh Vaishay &lt;Shraiysh.Vaishay@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>206f10d3 - Plumb InstructionCost through unroll costing</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#206f10d3</link>
        <description>Plumb InstructionCost through unroll costingTeach the unroller(s) how to handle an invalid cost. This avoids crashes when the backend can&apos;t provide a cost due to either a fundemental limitation or an unimplemented cost model case.Differential Revision: https://reviews.llvm.org/D127305

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Thu, 09 Jun 2022 22:32:30 +0000</pubDate>
        <dc:creator>Philip Reames &lt;preames@rivosinc.com&gt;</dc:creator>
    </item>
<item>
        <title>eb673be5 - [OMPIRBuilder] Add the support for compare capture</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#eb673be5</link>
        <description>[OMPIRBuilder] Add the support for compare captureThis patch adds the support for `compare capture` in `OMPIRBuilder`.Reviewed By: jdoerfertDifferential Revision: https://reviews.llvm.org/D120007

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Wed, 01 Jun 2022 23:53:36 +0000</pubDate>
        <dc:creator>Shilei Tian &lt;i@tianshilei.me&gt;</dc:creator>
    </item>
<item>
        <title>7604c59b - [OpenMP][IRBuilder] `omp task` support</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#7604c59b</link>
        <description>[OpenMP][IRBuilder] `omp task` supportThis patch adds basic support for `omp task` to the OpenMPIRBuilder.The outlined function after code extraction is called from a wrapper function with appropriate arguments. This wrapper function is passed to the runtime calls for task allocation.This approach is different from the Clang approach - clang directly emits the runtime call to the outlined function. The outlining utility (OutlineInfo) simply outlines the code and generates a function call to the outlined function. After the function has been generated by the outlining utility, there is no easy way to alter the function arguments without meddling with the outlining itself. Hence the wrapper function approach is taken.Reviewed By: MeinersburDifferential Revision: https://reviews.llvm.org/D71989

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Tue, 24 May 2022 04:23:33 +0000</pubDate>
        <dc:creator>Shraiysh Vaishay &lt;Shraiysh.Vaishay@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>643c9b22 - [OpenMP] Make generating offloading entries more generic</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#643c9b22</link>
        <description>[OpenMP] Make generating offloading entries more genericThis patch moves the logic for generating the offloading entries to theOpenMPIRBuilder. This makes it easier to re-use in other places, such asfor OpenMP support in Flang or using the same method for generatingoffloading entires for other languages like Cuda.Reviewed By: tianshilei1992Differential Revision: https://reviews.llvm.org/D123460

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Sun, 10 Apr 2022 02:32:49 +0000</pubDate>
        <dc:creator>Joseph Huber &lt;jhuber6@vols.utk.edu&gt;</dc:creator>
    </item>
<item>
        <title>ff289fee - [OpenMPIRBuilder] Remove ContinuationBB argument from Body callback.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#ff289fee</link>
        <description>[OpenMPIRBuilder] Remove ContinuationBB argument from Body callback.The callback is expected to create a branch to the ContinuationBB (sometimes called FiniBB in some lambdas) argument when finishing. This creates problems: 1. The InsertPoint used for CodeGenIP does not need to be the end of a block. If it is not, a naive callback will insert a branch instruction into the middle of the block. 2. The BasicBlock the CodeGenIP is pointing to may or may not have a terminator. There is an conflict where to branch to if the block already has a terminator. 3. Some API functions work only with block having a terminator. Some workarounds have been used to insert a temporary terminator that is removed again. 4. Some callbacks are sensitive to whether the BasicBlock has a terminator or not. This creates a callback ordering problem where different callback may have different behaviour depending on whether a previous callback created a terminator or not. The problem also exists for FinalizeCallbackTy where some callbacks do create branch to another &quot;continue&quot; block, but unlike BodyGenCallbackTy does not receive the target as argument. This is not addressed in this patch.With this patch, the callback receives an CodeGenIP into a BasicBlock where to insert instructions. If it has to insert control flow, it can split the block at that position as needed but otherwise no separate ContinuationBB is needed. In particular, a callback can be empty without breaking the emitted IR. If the caller needs the control flow to branch to a specific target, it can insert the branch instruction itself and pass an InsertPoint before the terminator to the callback.Certain frontends such as Clang may expect the current IRBuilder position to be at the end of a basic block. In this case its callbacks must split the block at CodeGenIP before setting the IRBuilder position such that the instructions after CodeGenIP are moved to another basic block and before returning create a new branch instruction to the split block.Some utility functions such as `splitBB` are supporting correct splitting of BasicBlocks, independent of whether they have a terminator or not, returning/setting the InsertPoint of an IRBuilder to the end of split predecessor block, and optionally omitting creating a branch to the split successor block to be added later.Reviewed By: kiranchandramohanDifferential Revision: https://reviews.llvm.org/D118409

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Tue, 26 Apr 2022 18:35:13 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm-project@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>2d92ee97 - Reapply &quot;[OpenMP] Refactor OMPScheduleType enum.&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#2d92ee97</link>
        <description>Reapply &quot;[OpenMP] Refactor OMPScheduleType enum.&quot;This reverts commit af0285122f306573d9bcc4c4ad7f904cfdd4d869.The test &quot;libomp::loop_dispatch.c&quot; on builderopenmp-gcc-x86_64-linux-debian fails from time-to-time.See #54969. This patch is unrelated.

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Tue, 19 Apr 2022 02:30:17 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm-project@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>af028512 - Revert &quot;[OpenMP] Refactor OMPScheduleType enum.&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#af028512</link>
        <description>Revert &quot;[OpenMP] Refactor OMPScheduleType enum.&quot;This reverts commit 9ec501da76fc1559cadd6d6dac32766bf4376a3d.It may have caused the openmp-gcc-x86_64-linux-debian buildbot to fail.https://lab.llvm.org/buildbot/#/builders/4/builds/20377

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Mon, 18 Apr 2022 19:35:53 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm-project@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>9ec501da - [OpenMP] Refactor OMPScheduleType enum.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#9ec501da</link>
        <description>[OpenMP] Refactor OMPScheduleType enum.The OMPScheduleType enum stores the constants from libomp&apos;s internal sched_type in kmp.h and are used by several kmp API functions. The enum values have an internal structure, namely each scheduling algorithm (e.g.) exists in four variants: unordered, orderend, normerge unordered, and nomerge ordered.This patch (basically a followup to D114940) splits the &quot;ordered&quot; and &quot;nomerge&quot; bits into separate flags, as was already done for the &quot;monotonic&quot; and &quot;nonmonotonic&quot;, so we can apply bit flags operations on them. It also now contains all possible combinations according to kmp&apos;s sched_type. Deriving of the OMPScheduleType enum from clause parameters has been moved form MLIR&apos;s OpenMPToLLVMIRTranslation.cpp to OpenMPIRBuilder to make available for clang as well. Since the primary purpose of the flag is the binary interface to libomp, it has been made more private to LLVMFrontend. The primary interface for generating worksharing-loop using OpenMPIRBuilder code becomes `applyWorkshareLoop` which derives the OMPScheduleType automatically and calls the appropriate emitter function.While this is mostly a NFC refactor, it still applies the following functional changes: * The logic from OpenMPToLLVMIRTranslation to derive the OMPScheduleType also applies to clang. Most notably, it now applies the nonmonotonic flag for non-static schedules by default. * In OpenMPToLLVMIRTranslation, the nonmonotonic default flag was previously not applied if the simd modifier was used. I assume this was a bug, since the effect was due to `loop.schedule_modifier()` returning `mlir::omp::ScheduleModifier::none` instead of `llvm::Optional::None`. * In OpenMPToLLVMIRTranslation, the nonmonotonic default flag was set even if ordered was specified, in breach to what the comment before citing the OpenMP specification says. I assume this was an oversight.The ordered flag with parameter was not considered in this patch. Changes will need to be made (e.g. adding/modifying function parameters) when support for it is added. The lengthy names of the enum values can be discussed, for the moment this is avoiding reusing previously existing enum value names such as `StaticChunked` to avoid confusion.Reviewed By: peixinDifferential Revision: https://reviews.llvm.org/D123403

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Mon, 18 Apr 2022 15:58:53 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm-project@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>c082ca16 - [OpenMPIRBuilder] Detect and fix ambiguous InsertPoints for createSections.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#c082ca16</link>
        <description>[OpenMPIRBuilder] Detect and fix ambiguous InsertPoints for createSections.Follow-up on D117226 for createSections.Reviewed By: shraiyshDifferential Revision: https://reviews.llvm.org/D117835

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Tue, 05 Apr 2022 01:13:02 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm-project@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>3e7415a0 - [OMPIRBuilder] Support ordered clause specified without parameter</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#3e7415a0</link>
        <description>[OMPIRBuilder] Support ordered clause specified without parameterThis patch supports ordered clause specified without parameter inworksharing-loop directive in the OpenMPIRBuilder and lowering MLIR toLLVM IR.Reviewed By: MeinersburDifferential Revision: https://reviews.llvm.org/D114940

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Fri, 01 Apr 2022 08:17:29 +0000</pubDate>
        <dc:creator>Peixin-Qiao &lt;qiaopeixin@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>8722c12c - [mlir][OpenMP][IRBuilder] Add support for nowait on single construct</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#8722c12c</link>
        <description>[mlir][OpenMP][IRBuilder] Add support for nowait on single constructThis patch adds the nowait parameter to `createSingle` inOpenMPIRBuilder and handling for IR generation from OpenMP Dialect.Also added tests for the same.Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D122371

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Thu, 24 Mar 2022 16:46:43 +0000</pubDate>
        <dc:creator>Shraiysh Vaishay &lt;Shraiysh.Vaishay@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>31486a9f - [mlir][OpenMP] Added translation from `omp.atomic.capture` to LLVM IR</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#31486a9f</link>
        <description>[mlir][OpenMP] Added translation from `omp.atomic.capture` to LLVM IRThis patch adds translation from `omp.atomic.capture` to LLVM IR. Alsoadded tests for the same.Depends on D121546Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D121554

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Mon, 21 Mar 2022 10:50:54 +0000</pubDate>
        <dc:creator>Shraiysh Vaishay &lt;Shraiysh.Vaishay@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>423e3edc - [OpenMP][IRBuilder] Fix emitAtomicUpdate conditions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp#423e3edc</link>
        <description>[OpenMP][IRBuilder] Fix emitAtomicUpdate conditionsThis patch fixes the condition for emitting atomic update using`atomicrmw` instruction or compare-exchange loop.Reviewed By: ftynseDifferential Revision: https://reviews.llvm.org/D121546

            List of files:
            /llvm-project-15.0.7/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp</description>
        <pubDate>Mon, 21 Mar 2022 10:08:45 +0000</pubDate>
        <dc:creator>Shraiysh Vaishay &lt;Shraiysh.Vaishay@amd.com&gt;</dc:creator>
    </item>
</channel>
</rss>
