<div dir="ltr">Hello Amara,<br><br>It looks like this commit broke a test on one of our builders:<br><a href="http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/6693">http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/6693</a><br><br>. . .<br>Failing Tests (3):<br>    LLVM :: CodeGen/AArch64/machine-outliner.mir<br>. . .<br><br>Please have a look?<br>The builder was already red and did not send notifications.<br><br>Thanks<br><br>Galina<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 11, 2017 at 8:58 AM, Amara Emerson via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: aemerson<br>
Date: Mon Dec 11 08:58:29 2017<br>
New Revision: 320388<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=320388&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=320388&view=rev</a><br>
Log:<br>
[GlobalISel] Disable GISel for big endian.<br>
<br>
This is due to PR26161 needing to be resolved before we can fix<br>
big endian bugs like PR35359. The work to split aggregates into smaller LLTs<br>
instead of using one large scalar will take some time, so in the mean time<br>
we'll fall back to SDAG.<br>
<br>
Some ARM BE tests xfailed for now as a result.<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D40789" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D40789</a><br>
<br>
Modified:<br>
    llvm/trunk/lib/CodeGen/<wbr>GlobalISel/IRTranslator.cpp<br>
    llvm/trunk/test/CodeGen/<wbr>AArch64/GlobalISel/arm64-<wbr>fallback.ll<br>
    llvm/trunk/test/CodeGen/ARM/<wbr>GlobalISel/arm-irtranslator.ll<br>
    llvm/trunk/test/CodeGen/ARM/<wbr>GlobalISel/arm-param-lowering.<wbr>ll<br>
<br>
Modified: llvm/trunk/lib/CodeGen/<wbr>GlobalISel/IRTranslator.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp?rev=320388&r1=320387&r2=320388&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/GlobalISel/<wbr>IRTranslator.cpp?rev=320388&<wbr>r1=320387&r2=320388&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/CodeGen/<wbr>GlobalISel/IRTranslator.cpp (original)<br>
+++ llvm/trunk/lib/CodeGen/<wbr>GlobalISel/IRTranslator.cpp Mon Dec 11 08:58:29 2017<br>
@@ -1253,6 +1253,15 @@ bool IRTranslator::<wbr>runOnMachineFunction(<br>
<br>
   assert(PendingPHIs.empty() && "stale PHIs");<br>
<br>
+  if (!DL->isLittleEndian()) {<br>
+    // Currently we don't properly handle big endian code.<br>
+    OptimizationRemarkMissed R("gisel-irtranslator", "GISelFailure",<br>
+                               MF->getFunction()-><wbr>getSubprogram(),<br>
+                               &MF->getFunction()-><wbr>getEntryBlock());<br>
+    R << "unable to translate in big endian mode";<br>
+    reportTranslationError(*MF, *TPC, *ORE, R);<br>
+  }<br>
+<br>
   // Release the per-function state when we return, whether we succeeded or not.<br>
   auto FinalizeOnReturn = make_scope_exit([this]() { finalizeFunction(); });<br>
<br>
<br>
Modified: llvm/trunk/test/CodeGen/<wbr>AArch64/GlobalISel/arm64-<wbr>fallback.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll?rev=320388&r1=320387&r2=320388&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/test/<wbr>CodeGen/AArch64/GlobalISel/<wbr>arm64-fallback.ll?rev=320388&<wbr>r1=320387&r2=320388&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/test/CodeGen/<wbr>AArch64/GlobalISel/arm64-<wbr>fallback.ll (original)<br>
+++ llvm/trunk/test/CodeGen/<wbr>AArch64/GlobalISel/arm64-<wbr>fallback.ll Mon Dec 11 08:58:29 2017<br>
@@ -3,6 +3,7 @@<br>
 ; RUN: llc -O0 -global-isel -global-isel-abort=2 -pass-remarks-missed='gisel*' -verify-machineinstrs %s -o %t.out 2> %t.err<br>
 ; RUN: FileCheck %s --check-prefix=FALLBACK-WITH-<wbr>REPORT-OUT < %t.out<br>
 ; RUN: FileCheck %s --check-prefix=FALLBACK-WITH-<wbr>REPORT-ERR < %t.err<br>
+; RUN: not llc -global-isel -mtriple aarch64_be %s -o - 2>&1 | FileCheck %s --check-prefix=BIG-ENDIAN<br>
 ; This file checks that the fallback path to selection dag works.<br>
 ; The test is fragile in the sense that it must be updated to expose<br>
 ; something that fails with global-isel.<br>
@@ -12,6 +13,8 @@<br>
 target datalayout = "e-m:o-i64:64-i128:128-n32:64-<wbr>S128"<br>
 target triple = "aarch64--"<br>
<br>
+; BIG-ENDIAN: unable to translate in big endian mode<br>
+<br>
 ; We use __fixunstfti as the common denominator for __fixunstfti on Linux and<br>
 ; ___fixunstfti on iOS<br>
 ; ERROR: unable to lower arguments: i128 (i128)* (in function: ABIi128)<br>
<br>
Modified: llvm/trunk/test/CodeGen/ARM/<wbr>GlobalISel/arm-irtranslator.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll?rev=320388&r1=320387&r2=320388&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/test/<wbr>CodeGen/ARM/GlobalISel/arm-<wbr>irtranslator.ll?rev=320388&r1=<wbr>320387&r2=320388&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/test/CodeGen/ARM/<wbr>GlobalISel/arm-irtranslator.ll (original)<br>
+++ llvm/trunk/test/CodeGen/ARM/<wbr>GlobalISel/arm-irtranslator.ll Mon Dec 11 08:58:29 2017<br>
@@ -1,5 +1,6 @@<br>
 ; RUN: llc -mtriple arm-unknown -mattr=+vfp2,+v4t -global-isel -stop-after=irtranslator -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=CHECK -check-prefix=LITTLE<br>
-; RUN: llc -mtriple armeb-unknown -mattr=+vfp2,+v4t -global-isel -stop-after=irtranslator -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=CHECK -check-prefix=BIG<br>
+; RUN: llc -mtriple armeb-unknown -mattr=+vfp2,+v4t -global-isel -global-isel-abort=0 -stop-after=irtranslator -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=CHECK -check-prefix=BIG<br>
+; XFAIL: armeb<br>
<br>
 define void @test_void_return() {<br>
 ; CHECK-LABEL: name: test_void_return<br>
<br>
Modified: llvm/trunk/test/CodeGen/ARM/<wbr>GlobalISel/arm-param-lowering.<wbr>ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-param-lowering.ll?rev=320388&r1=320387&r2=320388&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/test/<wbr>CodeGen/ARM/GlobalISel/arm-<wbr>param-lowering.ll?rev=320388&<wbr>r1=320387&r2=320388&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/test/CodeGen/ARM/<wbr>GlobalISel/arm-param-lowering.<wbr>ll (original)<br>
+++ llvm/trunk/test/CodeGen/ARM/<wbr>GlobalISel/arm-param-lowering.<wbr>ll Mon Dec 11 08:58:29 2017<br>
@@ -1,5 +1,6 @@<br>
 ; RUN: llc -mtriple arm-unknown -mattr=+vfp2,+v4t -global-isel -stop-after=irtranslator -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=CHECK -check-prefix=LITTLE<br>
-; RUN: llc -mtriple armeb-unknown -mattr=+vfp2,+v4t -global-isel -stop-after=irtranslator -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=CHECK -check-prefix=BIG<br>
+; RUN: llc -mtriple armeb-unknown -mattr=+vfp2,+v4t -global-isel -global-isel-abort=0 -stop-after=irtranslator -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=CHECK -check-prefix=BIG<br>
+; XFAIL: armeb<br>
<br>
 declare arm_aapcscc i32* @simple_reg_params_target(i32, i32*)<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>