diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-09-18 16:57:42 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-09-18 16:57:42 +0000 |
commit | c6f729ed5519cdf398ca4039dbdbea4f81433ec0 (patch) | |
tree | 869948d5bfd5d30bb4d55c7ee8a7a82b23d650f2 /test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll | |
parent | 7de3bd273ec3f4f027089285106095e8700e226d (diff) | |
download | external_llvm-c6f729ed5519cdf398ca4039dbdbea4f81433ec0.zip external_llvm-c6f729ed5519cdf398ca4039dbdbea4f81433ec0.tar.gz external_llvm-c6f729ed5519cdf398ca4039dbdbea4f81433ec0.tar.bz2 |
Allow symbols to start from the digit if target requests it. This allows, e.g. pinning
variables to specified absolute address. Make use of this feature for MSP430.
This unbreaks PR4776.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82227 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll')
-rw-r--r-- | test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll b/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll new file mode 100644 index 0000000..cc574c7 --- /dev/null +++ b/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll @@ -0,0 +1,22 @@ +; RUN: llc < %s | grep 0x0021 | count 2 +; PR4776 +target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8" +target triple = "msp430-unknown-unknown" + +@"\010x0021" = common global i8 0, align 1 ; <i8*> [#uses=2] + +define zeroext i8 @foo(i8 zeroext %x) nounwind { +entry: + %retval = alloca i8 ; <i8*> [#uses=2] + %x.addr = alloca i8 ; <i8*> [#uses=2] + %tmp = alloca i8, align 1 ; <i8*> [#uses=2] + store i8 %x, i8* %x.addr + %tmp1 = volatile load i8* @"\010x0021" ; <i8> [#uses=1] + store i8 %tmp1, i8* %tmp + %tmp2 = load i8* %x.addr ; <i8> [#uses=1] + volatile store i8 %tmp2, i8* @"\010x0021" + %tmp3 = load i8* %tmp ; <i8> [#uses=1] + store i8 %tmp3, i8* %retval + %0 = load i8* %retval ; <i8> [#uses=1] + ret i8 %0 +} |