Similar to 806761a762
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize xcore-apple-darwin as ELF instead
of rejecting it outrightly.
19 lines
478 B
LLVM
19 lines
478 B
LLVM
; RUN: llc < %s -mtriple=xcore -asm-verbose=0 | FileCheck %s
|
|
|
|
; MachineLICM should hoist the LDWCP out of the loop.
|
|
|
|
; CHECK-LABEL: f:
|
|
; CHECK-NEXT: ldw [[REG:r[0-9]+]], cp[.LCPI0_0]
|
|
; CHECK-NEXT: .LBB0_1:
|
|
; CHECK-NEXT: stw [[REG]], r0[0]
|
|
; CHECK-NEXT: bu .LBB0_1
|
|
|
|
define void @f(ptr nocapture %p) noreturn nounwind {
|
|
entry:
|
|
br label %bb
|
|
|
|
bb: ; preds = %bb, %entry
|
|
store volatile i32 525509670, ptr %p, align 4
|
|
br label %bb
|
|
}
|