diff options
author | Derek Schuff <dschuff@google.com> | 2013-02-15 22:50:52 +0000 |
---|---|---|
committer | Derek Schuff <dschuff@google.com> | 2013-02-15 22:50:52 +0000 |
commit | 67144e37ba5cd35ee917daac631e03963b05a674 (patch) | |
tree | 0c6baab3975cf0d06248d7eb46d7e4b931fe620c /test/MC/ARM/AlignedBundling | |
parent | 4788d14b484ba9e2fe19855fd6c97a3659980fca (diff) | |
download | external_llvm-67144e37ba5cd35ee917daac631e03963b05a674.zip external_llvm-67144e37ba5cd35ee917daac631e03963b05a674.tar.gz external_llvm-67144e37ba5cd35ee917daac631e03963b05a674.tar.bz2 |
If bundle alignment is enabled, do not add data to a fragment with instructions
With bundle alignment, instructions all get their own MCFragments
(unless they are in a bundle-locked group). For instructions with
fixups, this is an MCDataFragment. Emitting actual data (e.g. for
.long) attempts to re-use MCDataFragments, which we don't want int
this case since it leads to fragments which exceed the bundle size.
So, don't reuse them in this case.
Also adds a test and fixes some formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175316 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ARM/AlignedBundling')
-rw-r--r-- | test/MC/ARM/AlignedBundling/group-bundle-arm.s | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/test/MC/ARM/AlignedBundling/group-bundle-arm.s b/test/MC/ARM/AlignedBundling/group-bundle-arm.s index 823d9e0..1d67353 100644 --- a/test/MC/ARM/AlignedBundling/group-bundle-arm.s +++ b/test/MC/ARM/AlignedBundling/group-bundle-arm.s @@ -5,8 +5,8 @@ # instructions should not be inserted. However, for bundle-locked groups # it can be. - .syntax unified - .text + .syntax unified + .text .bundle_align_mode 4 bx lr @@ -35,3 +35,14 @@ # CHECK-NEXT: 2c: nop # CHECK-NEXT: 30: bx + .align 4 +foo: + b foo + .long 3892240112 + .long 3892240112 + .long 3892240112 + .long 3892240112 + .long 3892240112 + .long 3892240112 +# CHECK: 40: b + |