<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Yu Mincho";
        panose-1:2 2 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:"\@Yu Mincho";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Apologies, I had thought this would happen automatically when using ‘arc commit --revision’, but was disappointed to see that didn’t happen :(<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Is there anything I can do to retroactively add something?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>- Brian Gesiak<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>Shoaib Meenai <smeenai@fb.com><br><b>Date: </b>Thursday, April 12, 2018 at 2:36 PM<br><b>To: </b>Brian Gesiak <modocache@gmail.com>, "llvm-commits@lists.llvm.org" <llvm-commits@lists.llvm.org><br><b>Subject: </b>Re: [llvm] r329957 - Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr<o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>You should include an attribution of changes line in patches you're committing on behalf of others (a "Patch by XXX" in your commit message). See <a href="https://llvm.org/docs/DeveloperPolicy.html#attribution-of-changes">https://llvm.org/docs/DeveloperPolicy.html#attribution-of-changes</a> <o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='margin-left:.5in'><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>llvm-commits <llvm-commits-bounces@lists.llvm.org> on behalf of Brian Gesiak via llvm-commits <llvm-commits@lists.llvm.org><br><b>Reply-To: </b>Brian Gesiak <modocache@gmail.com><br><b>Date: </b>Thursday, April 12, 2018 at 2:31 PM<br><b>To: </b>"llvm-commits@lists.llvm.org" <llvm-commits@lists.llvm.org><br><b>Subject: </b>[llvm] r329957 - Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr</span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><a name="_MailOriginalBody">Author: modocache<o:p></o:p></a></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Date: Thu Apr 12 14:28:04 2018<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>New Revision: 329957<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>URL: </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D329957-26view-3Drev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=uIW8P7xd3cIHBHRLbTXEKYsQBzmsF-eEy8EUOesLgmA&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D329957-26view-3Drev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=uIW8P7xd3cIHBHRLbTXEKYsQBzmsF-eEy8EUOesLgmA&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Log:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Let llvm-diff correctly deal with Undef/ConstantAggregateZero/ConstantVector/IndirectBr<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Summary:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>llvm-diff incorrectly reports that there's a diff when input IR contains undef/zeroinitializer/constantvector/indirectbr.<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>(This happens even if two identical files are given, e.g. `llvm-diff x.ll x.ll`)<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>This is fix to the bug report </span><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'> .<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Reviewers: dexonsmith, rjmccall<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Reviewed By: rjmccall<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Subscribers: chenwj, mgrang, llvm-commits<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Differential Revision: </span><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D34856&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=T5CfeAt2QQo5Uby8iNv8_amKog5zcj1HSCicTuumXnQ&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D34856&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=T5CfeAt2QQo5Uby8iNv8_amKog5zcj1HSCicTuumXnQ&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Added:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>    llvm/trunk/test/tools/llvm-diff/<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>    llvm/trunk/test/tools/llvm-diff/constantvector.ll<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>    llvm/trunk/test/tools/llvm-diff/indirectbr.ll<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>    llvm/trunk/test/tools/llvm-diff/undef.ll<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>    llvm/trunk/test/tools/llvm-diff/zeroinitializer.bc.ll<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Modified:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>    llvm/trunk/tools/llvm-diff/DifferenceEngine.cpp<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Added: llvm/trunk/test/tools/llvm-diff/constantvector.ll<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>URL: </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Ddiff_constantvector.ll-3Frev-3D329957-26view-3Dauto&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=uh1DppEkmDRdtxWp0_m4XWM8Kps4r1eF9UZGgnYEM9M&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Ddiff_constantvector.ll-3Frev-3D329957-26view-3Dauto&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=uh1DppEkmDRdtxWp0_m4XWM8Kps4r1eF9UZGgnYEM9M&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>==============================================================================<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>--- llvm/trunk/test/tools/llvm-diff/constantvector.ll (added)<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+++ llvm/trunk/test/tools/llvm-diff/constantvector.ll Thu Apr 12 14:28:04 2018<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>@@ -0,0 +1,16 @@<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+; Bugzilla: </span><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+; RUN: llvm-diff %s %s<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+%struct.it = type { i64, i64* }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+@a_vector = internal global [2 x i64] zeroinitializer, align 16<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+define i32 @foo(%struct.it* %it) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+entry:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  %a = getelementptr inbounds %struct.it, %struct.it* %it, i64 0, i32 1<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  %tmp0 = bitcast i64** %a to <2 x i64*>*<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  store <2 x i64*> <i64* getelementptr inbounds ([2 x i64], [2 x i64]* @a_vector, i64 0, i64 0), i64* getelementptr inbounds ([2 x i64], [2 x i64]* @a_vector, i64 0, i64 0)>, <2 x i64*>* %tmp0, align 8<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  ret i32 0<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+}<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Added: llvm/trunk/test/tools/llvm-diff/indirectbr.ll<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>URL: </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Ddiff_indirectbr.ll-3Frev-3D329957-26view-3Dauto&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=LVkk-YUk42A9z30xZcBiY3vz0U2teJWvxjqTRBMJWxo&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Ddiff_indirectbr.ll-3Frev-3D329957-26view-3Dauto&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=LVkk-YUk42A9z30xZcBiY3vz0U2teJWvxjqTRBMJWxo&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>==============================================================================<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>--- llvm/trunk/test/tools/llvm-diff/indirectbr.ll (added)<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+++ llvm/trunk/test/tools/llvm-diff/indirectbr.ll Thu Apr 12 14:28:04 2018<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>@@ -0,0 +1,11 @@<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+; Bugzilla: </span><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+; RUN: llvm-diff %s %s<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+define i32 @foo(i8*) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+entry:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  indirectbr i8* %0, [label %A, label %B, label %entry]<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+A:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  ret i32 1<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+B:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  ret i32 2<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+}<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Added: llvm/trunk/test/tools/llvm-diff/undef.ll<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>URL: </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Ddiff_undef.ll-3Frev-3D329957-26view-3Dauto&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=WJvvSv12OiOyJczI-AaiCfUWHDSU_G1SPJOunHZaOWo&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Ddiff_undef.ll-3Frev-3D329957-26view-3Dauto&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=WJvvSv12OiOyJczI-AaiCfUWHDSU_G1SPJOunHZaOWo&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>==============================================================================<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>--- llvm/trunk/test/tools/llvm-diff/undef.ll (added)<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+++ llvm/trunk/test/tools/llvm-diff/undef.ll Thu Apr 12 14:28:04 2018<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>@@ -0,0 +1,11 @@<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+; Bugzilla: </span><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+; RUN: llvm-diff %s %s<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+%A = type { i64, i64 }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+@_gm_ = global <2 x %A*> zeroinitializer<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+define void @f() {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+entry:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  store <2 x %A*> undef, <2 x %A*>* @_gm_<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  ret void<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+}<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Added: llvm/trunk/test/tools/llvm-diff/zeroinitializer.bc.ll<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>URL: </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Ddiff_zeroinitializer.bc.ll-3Frev-3D329957-26view-3Dauto&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=7jzitHYieHUW-i9Jyt30FT4aNzxuU96L_jThqZ10hNY&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Ddiff_zeroinitializer.bc.ll-3Frev-3D329957-26view-3Dauto&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=7jzitHYieHUW-i9Jyt30FT4aNzxuU96L_jThqZ10hNY&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>==============================================================================<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>--- llvm/trunk/test/tools/llvm-diff/zeroinitializer.bc.ll (added)<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+++ llvm/trunk/test/tools/llvm-diff/zeroinitializer.bc.ll Thu Apr 12 14:28:04 2018<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>@@ -0,0 +1,11 @@<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+; Bugzilla: </span><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org_show-5Fbug.cgi-3Fid-3D33623&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=Aoo-zHNhe80PJ1WGDTQf8vYJfbX-kW0LJA-PEYm6qKQ&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+; RUN: llvm-diff %s %s<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+%A = type { i64, i64 }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+@_gm_ = global <2 x %A*> zeroinitializer<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+define void @f() {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+entry:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  store <2 x %A*> zeroinitializer, <2 x %A*>* @_gm_<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+  ret void<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+}<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>Modified: llvm/trunk/tools/llvm-diff/DifferenceEngine.cpp<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>URL: </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_tools_llvm-2Ddiff_DifferenceEngine.cpp-3Frev-3D329957-26r1-3D329956-26r2-3D329957-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=utT8HeI8_9GF8bQtOJHyh6Ck2zVxlTyW7rKxsADsdRU&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_tools_llvm-2Ddiff_DifferenceEngine.cpp-3Frev-3D329957-26r1-3D329956-26r2-3D329957-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=utT8HeI8_9GF8bQtOJHyh6Ck2zVxlTyW7rKxsADsdRU&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>==============================================================================<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>--- llvm/trunk/tools/llvm-diff/DifferenceEngine.cpp (original)<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+++ llvm/trunk/tools/llvm-diff/DifferenceEngine.cpp Thu Apr 12 14:28:04 2018<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>@@ -303,6 +303,26 @@ class FunctionDifferenceEngine {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>       if (TryUnify) tryUnify(LI->getSuccessor(0), RI->getSuccessor(0));<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>       return false;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+    } else if (isa<IndirectBrInst>(L)) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      IndirectBrInst *LI = cast<IndirectBrInst>(L);<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      IndirectBrInst *RI = cast<IndirectBrInst>(R);<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      if (LI->getNumDestinations() != RI->getNumDestinations()) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+        if (Complain) Engine.log("indirectbr # of destinations differ");<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+        return true;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      if (!equivalentAsOperands(LI->getAddress(), RI->getAddress())) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+        if (Complain) Engine.log("indirectbr addresses differ");<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+        return true;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      if (TryUnify) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+        for (unsigned i = 0; i < LI->getNumDestinations(); i++) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+          tryUnify(LI->getDestination(i), RI->getDestination(i));<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+        }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      return false;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>     } else if (isa<SwitchInst>(L)) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>       SwitchInst *LI = cast<SwitchInst>(L);<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>       SwitchInst *RI = cast<SwitchInst>(R);<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>@@ -377,9 +397,9 @@ class FunctionDifferenceEngine {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>       return equivalentAsOperands(cast<ConstantExpr>(L),<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>                                   cast<ConstantExpr>(R));<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>-    // Nulls of the "same type" don't always actually have the same<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+    // Constants of the "same type" don't always actually have the same<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>     // type; I don't know why.  Just white-list them.<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>-    if (isa<ConstantPointerNull>(L))<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+    if (isa<ConstantPointerNull>(L) || isa<UndefValue>(L) || isa<ConstantAggregateZero>(L))<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>       return true;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>     // Block addresses only match if we've already encountered the<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>@@ -388,6 +408,19 @@ class FunctionDifferenceEngine {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>       return Blocks[cast<BlockAddress>(L)->getBasicBlock()]<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>                  == cast<BlockAddress>(R)->getBasicBlock();<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+    // If L and R are ConstantVectors, compare each element<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+    if (isa<ConstantVector>(L)) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      ConstantVector *CVL = cast<ConstantVector>(L);<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      ConstantVector *CVR = cast<ConstantVector>(R);<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      if (CVL->getType()->getNumElements() != CVR->getType()->getNumElements())<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+        return false;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      for (unsigned i = 0; i < CVL->getType()->getNumElements(); i++) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+        if (!equivalentAsOperands(CVL->getOperand(i), CVR->getOperand(i)))<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+          return false;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+      return true;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+    }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>+<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>     return false;<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>   }<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>_______________________________________________<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'>llvm-commits mailing list<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'></span><a href="mailto:llvm-commits@lists.llvm.org"><span style='mso-bookmark:_MailOriginalBody'>llvm-commits@lists.llvm.org</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'></span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=OWu954qQ6BuALMp7O4qNGcEcE7pHJ6d7E3RnhwaYM-U&e="><span style='mso-bookmark:_MailOriginalBody'>https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=wNYVndKxHQubYOnSy9f7rflxF2ZHkyaHaeEgFtZIuDs&s=OWu954qQ6BuALMp7O4qNGcEcE7pHJ6d7E3RnhwaYM-U&e=</span><span style='mso-bookmark:_MailOriginalBody'></span></a><span style='mso-bookmark:_MailOriginalBody'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='mso-bookmark:_MailOriginalBody'> <o:p></o:p></span></p></div></div></body></html>