1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/CodeGen/ARM/execute-only-section.ll
David Spickett bfb82efb28 [ARM] Allow execute only code on Cortex-m23
The NoMovt feature prevents the use of MOVW/MOVT
instructions on Cortex-M23 for performance reasons.
These instructions are required for execute only code
so NoMovt should be disabled when that option is enabled.

Differential Revision: https://reviews.llvm.org/D52551

llvm-svn: 343302
2018-09-28 08:55:19 +00:00

25 lines
869 B
LLVM

; RUN: llc < %s -mtriple=thumbv7m -mattr=+execute-only %s -o - | FileCheck %s
; RUN: llc < %s -mtriple=thumbv8m.base -mattr=+execute-only %s -o - | FileCheck %s
; RUN: llc < %s -mtriple=thumbv8m.base -mcpu=cortex-m23 -mattr=+execute-only %s -o - | FileCheck %s
; RUN: llc < %s -mtriple=thumbv8m.main -mattr=+execute-only %s -o - | FileCheck %s
; CHECK: .section .text,"axy",%progbits,unique,0
; CHECK-NOT: .section
; CHECK-NOT: .text
; CHECK: .globl test_SectionForGlobal
; CHECK: .type test_SectionForGlobal,%function
define void @test_SectionForGlobal() {
entry:
ret void
}
; CHECK: .section .test,"axy",%progbits
; CHECK-NOT: .section
; CHECK-NOT: .text
; CHECK: .globl test_ExplicitSectionForGlobal
; CHECK: .type test_ExplicitSectionForGlobal,%function
define void @test_ExplicitSectionForGlobal() section ".test" {
entry:
ret void
}