<?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 swzero.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><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/Mips/swzero.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/Mips/swzero.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>4238a89d - Don&apos;t modify MO while use_iterator is still pointing to it.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/Mips/swzero.ll#4238a89d</link>
        <description>Don&apos;t modify MO while use_iterator is still pointing to it.llvm-svn: 161626

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/Mips/swzero.ll</description>
        <pubDate>Thu, 09 Aug 2012 22:08:24 +0000</pubDate>
        <dc:creator>Jakob Stoklund Olesen &lt;stoklund@2pi.dk&gt;</dc:creator>
    </item>
<item>
        <title>63c0e2c5 - Fix test cases in test/CodeGen/Mips.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/Mips/swzero.ll#63c0e2c5</link>
        <description>Fix test cases in test/CodeGen/Mips.llvm-svn: 157868

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/Mips/swzero.ll</description>
        <pubDate>Sat, 02 Jun 2012 00:05:45 +0000</pubDate>
        <dc:creator>Akira Hatanaka &lt;ahatanaka@mips.com&gt;</dc:creator>
    </item>
<item>
        <title>964c891e - Fix bug in zero-store peephole pattern reported in pr11615.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/Mips/swzero.ll#964c891e</link>
        <description>Fix bug in zero-store peephole pattern reported in pr11615.The patch and test case were originally written by Mans Rullgard.llvm-svn: 147024

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/Mips/swzero.ll</description>
        <pubDate>Wed, 21 Dec 2011 00:31:10 +0000</pubDate>
        <dc:creator>Akira Hatanaka &lt;ahatanaka@mips.com&gt;</dc:creator>
    </item>
</channel>
</rss>
