<?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 struct_byval.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>2caf85ad - [ARM] implement LOAD_STACK_GUARD for remaining targets</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#2caf85ad</link>
        <description>[ARM] implement LOAD_STACK_GUARD for remaining targetsCurrently, LOAD_STACK_GUARD on ARM is only implemented for Mach-O targets, andother targets rely on the generic support which may result in spilling of thestack canary value or address, or may cause it to be kept in a callee saveregister across function calls, which means they essentially get spilled aswell, only by the callee when it wants to free up this register.So let&apos;s implement LOAD_STACK GUARD for other targets as well. This ensuresthat the load of the stack canary is rematerialized fully in the epilogue.This code was split off from  D112768: [ARM] implement support for TLS register based stack protectorfor which it is a prerequisite.Reviewed By: nickdesaulniersDifferential Revision: https://reviews.llvm.org/D112811

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Mon, 08 Nov 2021 21:22:04 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ardb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>06c192d4 - OpaquePtr: Bulk update tests to use typed byval</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#06c192d4</link>
        <description>OpaquePtr: Bulk update tests to use typed byvalUpgrade of the IR text tests should be the only thing blocking makingtyped byval mandatory. Partially done through regex and partiallymanual.

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Fri, 20 Nov 2020 15:52:27 +0000</pubDate>
        <dc:creator>Matt Arsenault &lt;Matthew.Arsenault@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>b5ece527 - ARM: stop emitting blx instructions for most calls on MachO.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#b5ece527</link>
        <description>ARM: stop emitting blx instructions for most calls on MachO.I&apos;m really not sure why we were in the first place, it&apos;s the linker&apos;s job toconvert between BL/BLX as necessary. Even worse, using BLX left Thumb callsthat could be locally resolved completely unencodable since all offsets to BLXare multiples of 4.rdar://26182344llvm-svn: 269101

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Tue, 10 May 2016 19:17:47 +0000</pubDate>
        <dc:creator>Tim Northover &lt;tnorthover@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>b051389f - Use movw/movt instead of constant pool loads to lower byval parameter copies</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#b051389f</link>
        <description>Use movw/movt instead of constant pool loads to lower byval parameter copiesSummary:The ARM backend can use a loop to implement copying byval parameters beforea call. In non-thumb2 mode it uses a constant pool load to materialize thetrip count. For targets that need movt instead (e.g. Native Client), usethe same code as in thumb2 mode to materialize the trip count.Reviewers: jfb, t.p.northoverDifferential Revision: http://reviews.llvm.org/D8442llvm-svn: 233324

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Thu, 26 Mar 2015 22:11:00 +0000</pubDate>
        <dc:creator>Derek Schuff &lt;dschuff@google.com&gt;</dc:creator>
    </item>
<item>
        <title>79e6c749 - [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#79e6c749</link>
        <description>[opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instructionOne of several parallel first steps to remove the target type of pointers,replacing them with a single opaque pointer type.This adds an explicit type parameter to the gep instruction so that when thefirst parameter becomes an opaque pointer type, the type to gep through isstill available to the instructions.* This doesn&apos;t modify gep operators, only instructions (operators will be  handled separately)* Textual IR changes only. Bitcode (including upgrade) and changing the  in-memory representation will be in separate changes.* geps of vectors are transformed as:    getelementptr &lt;4 x float*&gt; %x, ...  -&gt;getelementptr float, &lt;4 x float*&gt; %x, ...  Then, once the opaque pointer type is introduced, this will ultimately look  like:    getelementptr float, &lt;4 x ptr&gt; %x  with the unambiguous interpretation that it is a vector of pointers to float.* address spaces remain on the pointer, not the type:    getelementptr float addrspace(1)* %x  -&gt;getelementptr float, float addrspace(1)* %x  Then, eventually:    getelementptr float, ptr addrspace(1) %xImportantly, the massive amount of test case churn has been automated bysame crappy python code. I had to manually update a few test cases thatwouldn&apos;t fit the script&apos;s model (r228970,r229196,r229197,r229198). Thepython script just massages stdin and writes the result to stdout, Ithen wrapped that in a shell script to handle replacing files, thenusing the usual find+xargs to migrate all the files.update.py:import fileinputimport sysimport reibrep = re.compile(r&quot;(^.*?[^%\w]getelementptr inbounds )(((?:&lt;\d* x )?)(.*?)(| addrspace\(\d\)) *\*(|&gt;)(?:$| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$))&quot;)normrep = re.compile(       r&quot;(^.*?[^%\w]getelementptr )(((?:&lt;\d* x )?)(.*?)(| addrspace\(\d\)) *\*(|&gt;)(?:$| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$))&quot;)def conv(match, line):  if not match:    return line  line = match.groups()[0]  if len(match.groups()[5]) == 0:    line += match.groups()[2]  line += match.groups()[3]  line += &quot;, &quot;  line += match.groups()[1]  line += &quot;\n&quot;  return linefor line in sys.stdin:  if line.find(&quot;getelementptr &quot;) == line.find(&quot;getelementptr inbounds&quot;):    if line.find(&quot;getelementptr inbounds&quot;) != line.find(&quot;getelementptr inbounds (&quot;):      line = conv(re.match(ibrep, line), line)  elif line.find(&quot;getelementptr &quot;) != line.find(&quot;getelementptr (&quot;):    line = conv(re.match(normrep, line), line)  sys.stdout.write(line)apply.sh:for name in &quot;$@&quot;do  python3 `dirname &quot;$0&quot;`/update.py &lt; &quot;$name&quot; &gt; &quot;$name.tmp&quot; &amp;&amp; mv &quot;$name.tmp&quot; &quot;$name&quot;  rm -f &quot;$name.tmp&quot;doneThe actual commands:From llvm/src:find test/ -name *.ll | xargs ./apply.shFrom llvm/src/tools/clang:find test/ -name *.mm -o -name *.m -o -name *.cpp -o -name *.c | xargs -I &apos;{}&apos; ../../apply.sh &quot;{}&quot;From llvm/src/tools/polly:find test/ -name *.ll | xargs ./apply.shAfter that, check-all (with llvm, clang, clang-tools-extra, lld,compiler-rt, and polly all checked out).The extra &apos;rm&apos; in the apply.sh script is due to a few files in clang&apos;s testsuite using interesting unicode stuff that my python script was throwingexceptions on. None of those files needed to be migrated, so it seemedsufficient to ignore those cases.Reviewers: rafael, dexonsmith, grosserDifferential Revision: http://reviews.llvm.org/D7636llvm-svn: 230786

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Fri, 27 Feb 2015 19:29:02 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>fd956dba - Struct byval: fix a copy-paste error for thumb2.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#fd956dba</link>
        <description>Struct byval: fix a copy-paste error for thumb2.PR17309llvm-svn: 192730

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Tue, 15 Oct 2013 19:42:32 +0000</pubDate>
        <dc:creator>Manman Ren &lt;manman.ren@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>77219d84 - Revert &quot;Tests: Be less dependent on a specific schedule/regalloc&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#77219d84</link>
        <description>Revert &quot;Tests: Be less dependent on a specific schedule/regalloc&quot;This reverts r192454Apparently FileCheck isn&apos;t as smart as I though and does not enforce atopological order between variable defs+uses.llvm-svn: 192472

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Fri, 11 Oct 2013 18:09:19 +0000</pubDate>
        <dc:creator>Matthias Braun &lt;matze@braunis.de&gt;</dc:creator>
    </item>
<item>
        <title>94b88b88 - Tests: Be less dependent on a specific schedule/regalloc</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#94b88b88</link>
        <description>Tests: Be less dependent on a specific schedule/regallocllvm-svn: 192454

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Fri, 11 Oct 2013 15:40:12 +0000</pubDate>
        <dc:creator>Matthias Braun &lt;matze@braunis.de&gt;</dc:creator>
    </item>
<item>
        <title>8f79ee99 - Revert 189756 for now, it doesn&apos;t match what rdar://14871821 really wants.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#8f79ee99</link>
        <description>Revert 189756 for now, it doesn&apos;t match what rdar://14871821 really wants.What we really want is to enable Swift by default for *v7s triples (and there already seems to be some logic which attempts to do that). In that case the iOS version doesn&apos;t matter. llvm-svn: 189763

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Mon, 02 Sep 2013 15:48:17 +0000</pubDate>
        <dc:creator>Tilmann Scheller &lt;tilmann.scheller@googlemail.com&gt;</dc:creator>
    </item>
<item>
        <title>f49c8017 - ARM: Default to Swift when compiling for iOS 6 or later.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#f49c8017</link>
        <description>ARM: Default to Swift when compiling for iOS 6 or later.Test cases adjusted accordingly.This fixes rdar://14871821.llvm-svn: 189756

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Mon, 02 Sep 2013 12:01:58 +0000</pubDate>
        <dc:creator>Tilmann Scheller &lt;tilmann.scheller@googlemail.com&gt;</dc:creator>
    </item>
<item>
        <title>d24ab20e - Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#d24ab20e</link>
        <description>Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally.This update was done with the following bash script:  find test/CodeGen -name &quot;*.ll&quot; | \  while read NAME; do    echo &quot;$NAME&quot;    if ! grep -q &quot;^; *RUN: *llc.*debug&quot; $NAME; then      TEMP=`mktemp -t temp`      cp $NAME $TEMP      sed -n &quot;s/^define [^@]*@\([A-Za-z0-9_]*\)(.*$/\1/p&quot; &lt; $NAME | \      while read FUNC; do        sed -i &apos;&apos; &quot;s/;\(.*\)\([A-Za-z0-9_-]*\):\( *\)$FUNC: *\$/;\1\2-LABEL:\3$FUNC:/g&quot; $TEMP      done      sed -i &apos;&apos; &quot;s/;\(.*\)-LABEL-LABEL:/;\1-LABEL:/&quot; $TEMP      sed -i &apos;&apos; &quot;s/;\(.*\)-NEXT-LABEL:/;\1-NEXT:/&quot; $TEMP      sed -i &apos;&apos; &quot;s/;\(.*\)-NOT-LABEL:/;\1-NOT:/&quot; $TEMP      sed -i &apos;&apos; &quot;s/;\(.*\)-DAG-LABEL:/;\1-DAG:/&quot; $TEMP      mv $TEMP $NAME    fi  donellvm-svn: 186280

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Sun, 14 Jul 2013 06:24:09 +0000</pubDate>
        <dc:creator>Stephen Lin &lt;stephenwlin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7e48b252 - ARM: tail-call inside a function where part of a byval argument is on caller&apos;s</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#7e48b252</link>
        <description>ARM: tail-call inside a function where part of a byval argument is on caller&apos;slocal frame causes problem.For example:void f(StructToPass s) {  g(&amp;s, sizeof(s));}will cause problem with tail-call since part of s is passed via registers andsaved in f&apos;s local frame. When g tries to access s, part of s may be corruptedsince f&apos;s local frame is popped out before the tail-call.The current fix is to disable tail-call if getVarArgsRegSaveSize is not 0 forthe caller. This is a conservative approach, if we can prove the address ofs or part of s is not taken and passed to g, it should be okay to performtail-call.rdar://12442472llvm-svn: 165853

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Fri, 12 Oct 2012 23:39:43 +0000</pubDate>
        <dc:creator>Manman Ren &lt;mren@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>6e1fd46f - ARM: use NOEN loads and stores if possible when handling struct byval.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#6e1fd46f</link>
        <description>ARM: use NOEN loads and stores if possible when handling struct byval.This change is to be enabled in clang.rdar://9877866llvm-svn: 158684

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Mon, 18 Jun 2012 22:23:48 +0000</pubDate>
        <dc:creator>Manman Ren &lt;mren@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>be10421c - ARM: add testing case for struct byval</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll#be10421c</link>
        <description>ARM: add testing case for struct byvalrdar://9877866llvm-svn: 157876

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/ARM/struct_byval.ll</description>
        <pubDate>Sat, 02 Jun 2012 05:37:44 +0000</pubDate>
        <dc:creator>Manman Ren &lt;mren@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
