Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Avoid requirement that number of values must be known at assembler time. Fixes PR33586. Reviewers: rnk, peter.smith, echristo, jyknight Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D46703 llvm-svn: 332741
- Loading branch information
1 parent
fdde9f3
commit 588fad4
Showing
9 changed files
with
158 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// RUN: llvm-mc --triple=thumbv7eb-linux-gnueabihf %s -filetype=obj | llvm-objdump -triple=thumbv7eb-linux-gnueabihf -s - | FileCheck %s | ||
|
||
// CHECK: Contents of section .text | ||
// CHECK-NEXT: 0000 d000bf00 | ||
|
||
// Make sure we emit in correct endianness. | ||
|
||
// CHECK: Contents of section .data | ||
// CHECK-NEXT: 0000 12341234 1234 | ||
|
||
.syntax unified | ||
.text | ||
.thumb | ||
.thumb_func | ||
.L1: | ||
beq Label | ||
.L2: | ||
nop | ||
Label: | ||
|
||
.data | ||
.short 0x1234 | ||
.fill (.L2 - .L1), 2, 0x1234 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# RUN: llvm-mc -filetype=obj -defsym=I=6 -triple i686-unknown-unknown %s | llvm-objdump -triple i686-unknown-unknown -s - | FileCheck --check-prefix="CHECK" %s | ||
# RUN: not llvm-mc -filetype=obj -defsym=I=4 -triple i686-unknown-unknown %s -o /dev/null 2>&1 | FileCheck --check-prefix="CHECK-ERR" %s | ||
|
||
|
||
|
||
# CHECK: Contents of section .text | ||
# CHECK-NEXT: 0000 e9810000 00cc9090 90909090 90909090 | ||
|
||
# Make sure we emit in correct endianness. | ||
|
||
# CHECK: Contents of section .data | ||
# CHECK-NEXT: 0000 78563412 78563412 78563412 | ||
|
||
.text | ||
foo: | ||
jmp bar2 | ||
# CHECK-ERR: [[@LINE+1]]:7: error: invalid number of bytes | ||
.fill ((I+foo) - .), 1, 0xcc | ||
bar: | ||
.space 128, 0x90 | ||
bar2: | ||
.byte 0xff | ||
|
||
# This fill length is not known at assembler time. | ||
|
||
.if (I==6) | ||
|
||
.data | ||
.long 0x12345678 | ||
.fill ((foo+8)-bar), 4, 0x12345678 | ||
|
||
.endif |