<?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 constants.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>ac81cb7e - Allow ptrtoint/inttoptr of non-integral pointer types in IR</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#ac81cb7e</link>
        <description>Allow ptrtoint/inttoptr of non-integral pointer types in IRI don&apos;t like landing this change, but it&apos;s an acknowledgement of a practical reality.  Despite not having well specified semantics for inttoptr and ptrtoint involving non-integral pointer types, they are used in practice.  Here&apos;s a quick summary of the current pragmatic reality:* I happen to know that the main external user of non-integral pointers has effectively disabled the verifier rules.* RS4GC (the lowering pass for abstract GC machine model which is the key motivation for non-integral pointers), even supports them.  We just have all the tests using an integral pointer space to let the verifier run.* Certain idioms (such as alignment checks for alignment N, where any relocation is guaranteed to be N byte aligned) are fine in practice.* As implemented, inttoptr/ptrtoint are CSEd and are not control dependent.  This means that any code which is intending to check a particular bit pattern at site of use must be wrapped in an intrinsic or external function call.This change allows them in the Verifier, and updates the LangRef to specific them as implementation dependent.  This allows us to acknowledge current reality while still leaving ourselves room to punt on figuring out &quot;good&quot; semantics until the future.

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Fri, 11 Jun 2021 20:30:10 +0000</pubDate>
        <dc:creator>Philip Reames &lt;listmail@philipreames.com&gt;</dc:creator>
    </item>
<item>
        <title>cee313d2 - Revert &quot;Temporarily Revert &quot;Add basic loop fusion pass.&quot;&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#cee313d2</link>
        <description>Revert &quot;Temporarily Revert &quot;Add basic loop fusion pass.&quot;&quot;The reversion apparently deleted the test/Transforms directory.Will be re-reverting again.llvm-svn: 358552

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Wed, 17 Apr 2019 04:52:47 +0000</pubDate>
        <dc:creator>Eric Christopher &lt;echristo@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4b86d790 - [PM] port Rewrite Statepoints For GC to the new pass manager.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#4b86d790</link>
        <description>[PM] port Rewrite Statepoints For GC to the new pass manager.Summary:The port is nearly straightforward.The only complication is related to the analyses handling,since one of the analyses used in this module pass is domtree,which is a function analysis. That requires asking for the resultsof each function and disallows a single interface for run-on-modulepass action.Decided to copy-paste the main body of this pass.Most of its code is requesting analyses anyway, so not that muchof a copy-paste.The rest of the code movement is to transform all the implementationhelper functions like stripNonValidData into non-member statics.Extended all the related LLVM tests with new-pass-manager use.No failures.Reviewers: sanjoy, anna, reamesReviewed By: annaSubscribers: skatkov, llvm-commitsDifferential Revision: https://reviews.llvm.org/D41162llvm-svn: 320796

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Fri, 15 Dec 2017 09:32:11 +0000</pubDate>
        <dc:creator>Fedor Sergeev &lt;fedor.sergeev@azul.com&gt;</dc:creator>
    </item>
<item>
        <title>df9db45c - [RewriteStatepointsForGC] All constant should have null base pointer</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#df9db45c</link>
        <description>[RewriteStatepointsForGC] All constant should have null base pointerCurrently we consider that each constant has itself as a base value. I.e &quot;base(const) = const&quot;. This introduces couple of problems when we are trying to avoid reporting constants in statepoint live sets:1. When querying &quot;base( phi(const1, const2) )&quot; we will get &quot;phi(const1, const2)&quot; as a base pointer. Since    it&apos;s not a constant we will record it in a stack map. However on practice we don&apos;t want this to happen   (constant are never relocated).2. base( phi(const, gc ptr) ) = phi( const, base(gc ptr) ). This particular case imposes challenge on our    runtime - we don&apos;t expect to see constant base pointers other than null. This problems can be avoided    by treating all constant as if they were derived from null pointer base. I.e in a first case we will    not include constant pointer in a stack map at all. In a second case we will get &quot;phi(null, base(gc ptr))&quot;    as a base pointer which is a lot more convenient.Differential Revision: http://reviews.llvm.org/D20584llvm-svn: 270993

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Fri, 27 May 2016 13:13:59 +0000</pubDate>
        <dc:creator>Igor Laevsky &lt;igmyrj@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>953f2d2a - [RewriteStatepointsForGC] Remove obsolete assertion</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#953f2d2a</link>
        <description>[RewriteStatepointsForGC] Remove obsolete assertionThis is assertion is no longer necessary since we never recordconstants in the live set anyway. (They are never recorded in the initial live set, and constant bases are removed near line 2119)Differential Revision: http://reviews.llvm.org/D20293llvm-svn: 269764

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Tue, 17 May 2016 13:54:10 +0000</pubDate>
        <dc:creator>Igor Laevsky &lt;igmyrj@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f3a4ee75 - [RS4GC] Add some missing tests and CHECK: lines</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#f3a4ee75</link>
        <description>[RS4GC] Add some missing tests and CHECK: linesI missed porting these in rL259129.llvm-svn: 259203

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Fri, 29 Jan 2016 16:32:25 +0000</pubDate>
        <dc:creator>Sanjoy Das &lt;sanjoy@playingwithpointers.com&gt;</dc:creator>
    </item>
<item>
        <title>04071080 - [RS4GC] Clamp UseDeoptBundles to true and update tests</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#04071080</link>
        <description>[RS4GC] Clamp UseDeoptBundles to true and update testsThe full diff for the test directory may be hard to read because of thefilename clash; so here&apos;s all that happened as far as the tests areconcerned:```cd test/Transforms/RewriteStatepointsForGCgit rm *llgit mv deopt-bundles/* ./rmdir deopt-bundlesfind . -name &apos;*.ll&apos; | xargs gsed -i &apos;s/-rs4gc-use-deopt-bundles //g&apos;```llvm-svn: 259129

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Fri, 29 Jan 2016 00:28:57 +0000</pubDate>
        <dc:creator>Sanjoy Das &lt;sanjoy@playingwithpointers.com&gt;</dc:creator>
    </item>
<item>
        <title>734e7334 - [RS4GC] Update and simplify handling of Constants in findBaseDefiningValueOfVector().</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#734e7334</link>
        <description>[RS4GC] Update and simplify handling of Constants in findBaseDefiningValueOfVector().Summary:This is analogous to r256079, which removed an overly strong assertion, andr256812, which simplified the code by replacing three conditionals by one.Reviewers: reamesSubscribers: sanjoy, llvm-commitsDifferential Revision: http://reviews.llvm.org/D16019llvm-svn: 257250

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Sat, 09 Jan 2016 04:02:16 +0000</pubDate>
        <dc:creator>Manuel Jacob &lt;me@manueljacob.de&gt;</dc:creator>
    </item>
<item>
        <title>d71999ef - [gc.statepoint] Change gc.statepoint intrinsic&apos;s return type to token type instead of i32 type</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#d71999ef</link>
        <description>[gc.statepoint] Change gc.statepoint intrinsic&apos;s return type to token type instead of i32 typeSummary: This patch changes gc.statepoint intrinsic&apos;s return type to token type instead of i32 type. Using token types could prevent LLVM to merge different gc.statepoint nodes into PHI nodes and cause further problems with gc relocations. The patch also changes the way on how gc.relocate and gc.result look for their corresponding gc.statepoint on unwind path. The current implementation uses the selector value extracted from a { i8*, i32 } landingpad as a hook to find the gc.statepoint, while the patch directly uses a token type landingpad (http://reviews.llvm.org/D15405) to find the gc.statepoint. Reviewers: sanjoy, JosephTremoulet, pgavlin, igor-laevsky, mjacobSubscribers: reames, mjacob, sanjoy, llvm-commitsDifferential Revision: http://reviews.llvm.org/D15662llvm-svn: 256443

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Sat, 26 Dec 2015 07:54:32 +0000</pubDate>
        <dc:creator>Chen Li &lt;meloli87@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5d54689b - [RS4GC] Remove an overly strong assertion</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#5d54689b</link>
        <description>[RS4GC] Remove an overly strong assertionAs shown by the included test case, it&apos;s reasonable to end up with constant references during base pointer calculation.  The code actually handled this case just fine, we only had the assert to help isolate problems under the belief that constant references shouldn&apos;t be present in IR generated by managed frontends. This turned out to be wrong on two fronts: 1) Manual Jacobs is working on a language with constant references, and b) we found a case where the optimizer does create them in practice.llvm-svn: 256079

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Sat, 19 Dec 2015 02:38:22 +0000</pubDate>
        <dc:creator>Philip Reames &lt;listmail@philipreames.com&gt;</dc:creator>
    </item>
<item>
        <title>a1d39ba9 - [Statepoints] Support for &quot;patchable&quot; statepoints.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#a1d39ba9</link>
        <description>[Statepoints] Support for &quot;patchable&quot; statepoints.Summary:This change adds two new parameters to the statepoint intrinsic, `i64 id`and `i32 num_patch_bytes`.  `id` gets propagated to the ID fieldin the generated StackMap section.  If the `num_patch_bytes` isnon-zero then the statepoint is lowered to `num_patch_bytes` bytes ofnops instead of a call (the spill and reload code remains unchanged).A non-zero `num_patch_bytes` is useful in situations where a languageruntime requires complete control over how a call is lowered.This change brings statepoints one step closer to patchpoints.  Withsome additional work (that is not part of this patch) it should bepossible to get rid of `TargetOpcode::STATEPOINT` altogether.PlaceSafepoints generates `statepoint` wrappers with `id` set to`0xABCDEF00` (the old default value for the ID reported in the stackmap)and `num_patch_bytes` set to `0`.  This can be made more sophisticatedlater.Reviewers: reames, pgavlin, swaroop.sridhar, AndyAyersSubscribers: llvm-commitsDifferential Revision: http://reviews.llvm.org/D9546llvm-svn: 237214

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Tue, 12 May 2015 23:52:24 +0000</pubDate>
        <dc:creator>Sanjoy Das &lt;sanjoy@playingwithpointers.com&gt;</dc:creator>
    </item>
<item>
        <title>cc0431d1 - Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#cc0431d1</link>
        <description>Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware.This changes the shape of the statepoint intrinsic from:  @llvm.experimental.gc.statepoint(anyptr target, i32 # call args, i32 unused, ...call args, i32 # deopt args, ...deopt args, ...gc args)to:  @llvm.experimental.gc.statepoint(anyptr target, i32 # call args, i32 flags, ...call args, i32 # transition args, ...transition args, i32 # deopt args, ...deopt args, ...gc args)This extension offers the backend the opportunity to insert (somewhat) arbitrary code to manage the transition from GC-aware code to code that is not GC-aware and back.In order to support the injection of transition code, this extension wraps the STATEPOINT ISD node generated by the usual lowering lowering with two additional nodes: GC_TRANSITION_START and GC_TRANSITION_END. The transition arguments that were passed passed to the intrinsic (if any) are lowered and provided as operands to these nodes and may be used by the backend during code generation.Eventually, the lowering of the GC_TRANSITION_{START,END} nodes should be informed by the GC strategy in use for the function containing the intrinsic call; for now, these nodes are instead replaced with no-ops.Differential Revision: http://reviews.llvm.org/D9501llvm-svn: 236888

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Fri, 08 May 2015 18:07:42 +0000</pubDate>
        <dc:creator>Pat Gavlin &lt;pagavlin@microsoft.com&gt;</dc:creator>
    </item>
<item>
        <title>63294cbb - [RewriteStatepointsForGC] Exclude constant values from being considered live at a safepoint</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll#63294cbb</link>
        <description>[RewriteStatepointsForGC] Exclude constant values from being considered live at a safepointThere can be various constant pointers in the IR which do not get relocated at a safepoint. One example is the address of a global variable. Another example is a pointer created via inttoptr. Note that the optimizer itself likes to create such inttoptrs when locally propagating constants through dynamically dead code.To deal with this, we need to exclude uses of constants from contributing to the liveness of a safepoint which might reach that use. At some later date, it might be worth exploring what could be done to support the relocation of various special types of &quot;constants&quot;, but that&apos;s future work.Differential Revision: http://reviews.llvm.org/D9236llvm-svn: 235821

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/RewriteStatepointsForGC/constants.ll</description>
        <pubDate>Sun, 26 Apr 2015 19:48:03 +0000</pubDate>
        <dc:creator>Philip Reames &lt;listmail@philipreames.com&gt;</dc:creator>
    </item>
</channel>
</rss>
