1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/CodeGen/PowerPC/2008-02-05-LiveIntervalsAssert.ll
Kit Barton 5fe828ca5e [PPC] Remove Darwin support from POWER backend.
This patch issues an error message if Darwin ABI is attempted with the PPC
backend. It also cleans up existing test cases, either converting the test to
use an alternative triple or removing the test if the coverage is no longer
needed.

Updated Tests
-------------
The majority of test cases were updated to use a different triple that does not
include the Darwin ABI. Many tests were also updated to use FileCheck, in place
of grep.

Deleted Tests
-------------
llvm/test/tools/dsymutil/PowerPC/sibling.test was originally added to test
specific functionality of dsymutil using an object file created with an old
version of llvm-gcc for a Powerbook G4. After a discussion with @JDevlieghere he
suggested removing the test.

llvm/test/CodeGen/PowerPC/combine_loads_from_build_pair.ll was converted from a
PPC test to a SystemZ test, as the behavior is also reproducible there.

All other tests that were deleted were specific to the darwin/ppc ABI and no
longer necessary.

Phabricator Review: https://reviews.llvm.org/D50988

llvm-svn: 340795
2018-08-28 01:18:29 +00:00

70 lines
2.2 KiB
LLVM

; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu | FileCheck %s
%struct.Handle = type { %struct.oopDesc** }
%struct.JNI_ArgumentPusher = type { %struct.SignatureIterator, %struct.JavaCallArguments* }
%struct.JNI_ArgumentPusherArray = type { %struct.JNI_ArgumentPusher, %struct.JvmtiEventEnabled* }
%struct.JavaCallArguments = type { [9 x i32], [9 x i32], i32*, i32*, i32, i32, i32 }
%struct.JvmtiEventEnabled = type { i64 }
%struct.KlassHandle = type { %struct.Handle }
%struct.SignatureIterator = type { i32 (...)**, %struct.KlassHandle, i32, i32, i32 }
%struct.instanceOopDesc = type { %struct.oopDesc }
%struct.oopDesc = type { %struct.instanceOopDesc*, %struct.instanceOopDesc* }
@.str = external constant [44 x i8] ; <[44 x i8]*> [#uses=1]
; CHECK: _ZN23JNI_ArgumentPusherArray7iterateEy
; CHECK: blr
define void @_ZN23JNI_ArgumentPusherArray7iterateEy(%struct.JNI_ArgumentPusherArray* %this, i64 %fingerprint) nounwind {
entry:
br label %bb113
bb22.preheader: ; preds = %bb113
ret void
bb32.preheader: ; preds = %bb113
ret void
bb42.preheader: ; preds = %bb113
ret void
bb52: ; preds = %bb113
br label %bb113
bb62.preheader: ; preds = %bb113
ret void
bb72.preheader: ; preds = %bb113
ret void
bb82: ; preds = %bb113
br label %bb113
bb93: ; preds = %bb113
br label %bb113
bb103.preheader: ; preds = %bb113
ret void
bb113: ; preds = %bb113, %bb93, %bb82, %bb52, %entry
%fingerprint_addr.0.reg2mem.9 = phi i64 [ 0, %entry ], [ 0, %bb52 ], [ 0, %bb82 ], [ 0, %bb93 ], [ %tmp118, %bb113 ] ; <i64> [#uses=1]
tail call void @_Z28report_should_not_reach_herePKci( i8* getelementptr ([44 x i8], [44 x i8]* @.str, i32 0, i32 0), i32 817 ) nounwind
%tmp118 = lshr i64 %fingerprint_addr.0.reg2mem.9, 4 ; <i64> [#uses=2]
%tmp21158 = and i64 %tmp118, 15 ; <i64> [#uses=1]
switch i64 %tmp21158, label %bb113 [
i64 1, label %bb22.preheader
i64 2, label %bb52
i64 3, label %bb32.preheader
i64 4, label %bb42.preheader
i64 5, label %bb62.preheader
i64 6, label %bb82
i64 7, label %bb93
i64 8, label %bb103.preheader
i64 9, label %bb72.preheader
i64 10, label %UnifiedReturnBlock
]
UnifiedReturnBlock: ; preds = %bb113
ret void
}
declare void @_Z28report_should_not_reach_herePKci(i8*, i32)