1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/CodeGen/PowerPC/ppc-vaarg-agg.ll
Matthias Braun b3a8585bc1 PowerPC: Do not use llc -march in tests.
`llc -march` is problematic because it only switches the target
architecture, but leaves the operating system unchanged. This
occasionally leads to indeterministic tests because the OS from
LLVM_DEFAULT_TARGET_TRIPLE is used.

However we can simply always use `llc -mtriple` instead. This changes
all the tests to do this to avoid people using -march when they copy and
paste parts of tests.

This patch:
- Removes -march if the .ll file already has a matching `target triple`
  directive or -mtriple argument.
- In all other cases changes -march=ppc32/-march=ppc64 to
  -mtriple=ppc32--/-mtriple=ppc64--

See also the discussion in https://reviews.llvm.org/D35287

llvm-svn: 309754
2017-08-01 22:20:41 +00:00

47 lines
1.5 KiB
LLVM

; RUN: llc < %s | FileCheck %s
target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32"
target triple = "powerpc-montavista-linux-gnuspe"
%struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105 = type { i8, i8, i16, i8*, i8* }
define fastcc void @test1(%struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105* %args) {
entry:
br i1 undef, label %repeat, label %maxlen_reached
repeat: ; preds = %entry
switch i32 undef, label %sw.bb323 [
i32 77, label %sw.bb72
i32 111, label %sw.bb309
i32 80, label %sw.bb313
i32 117, label %sw.bb326
i32 88, label %sw.bb321
]
sw.bb72: ; preds = %repeat
unreachable
sw.bb309: ; preds = %repeat
unreachable
sw.bb313: ; preds = %repeat
unreachable
sw.bb321: ; preds = %repeat
unreachable
sw.bb323: ; preds = %repeat
%0 = va_arg %struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105* %args, i32
unreachable
sw.bb326: ; preds = %repeat
unreachable
maxlen_reached: ; preds = %entry
ret void
}
; If the SD nodes are not cleaup up correctly, then this can fail to compile
; with an error like: Cannot select: ch = setlt [ID=6]
; CHECK: @test1