1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00
llvm-mirror/test/CodeGen/RISCV/option-norelax.ll
Fangrui Song 25a0241f66 [llvm-objdump] -d: print 00000000 <foo>: instead of 00000000 foo:
The new behavior matches GNU objdump. A pair of angle brackets makes tests slightly easier.

`.foo:` is not unique and thus cannot be used in a `CHECK-LABEL:` directive.
Without `-LABEL`, the CHECK line can match the `Disassembly of section`
line and causes the next `CHECK-NEXT:` to fail.

```
Disassembly of section .foo:

0000000000001634 .foo:
```

Bdragon: <> has metalinguistic connotation. it just "feels right"

Reviewed By: rupprecht

Differential Revision: https://reviews.llvm.org/D75713
2020-03-05 18:05:28 -08:00

17 lines
443 B
LLVM

; RUN: llc -mtriple=riscv32 -mattr=+relax -filetype=obj < %s \
; RUN: | llvm-objdump -d -r - | FileCheck %s
; This test demonstrates that .option norelax has no effect on codegen
; when emitting an ELF directly.
declare i32 @foo(i32)
define i32 @bar(i32 %a) nounwind {
; CHECK-LABEL: <bar>:
; CHECK: R_RISCV_CALL
; CHECK: R_RISCV_RELAX
tail call void asm sideeffect ".option norelax", ""()
%1 = call i32 @foo(i32 %a)
ret i32 %1
}