`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
25 lines
770 B
LLVM
25 lines
770 B
LLVM
; RUN: llc -verify-machineinstrs < %s -mtriple powerpc-apple-darwin8 | FileCheck %s
|
|
|
|
; Check that *coal* sections are emitted.
|
|
|
|
; CHECK: .section __TEXT,__textcoal_nt,coalesced,pure_instructions
|
|
; CHECK: .section __TEXT,__textcoal_nt,coalesced,pure_instructions
|
|
; CHECK-NEXT: .globl _foo
|
|
|
|
; CHECK: .section __TEXT,__const_coal,coalesced
|
|
; CHECK-NEXT: .globl _a
|
|
|
|
; CHECK: .section __DATA,__datacoal_nt,coalesced
|
|
; CHECK-NEXT: .globl _b
|
|
|
|
@a = weak_odr constant [4 x i32] [i32 1, i32 2, i32 3, i32 4], align 16
|
|
@b = weak global i32 5, align 4
|
|
@g = common global i32* null, align 8
|
|
|
|
; Function Attrs: nounwind ssp uwtable
|
|
define weak i32* @foo() {
|
|
entry:
|
|
store i32* getelementptr inbounds ([4 x i32], [4 x i32]* @a, i64 0, i64 0), i32** @g, align 8
|
|
ret i32* @b
|
|
}
|