aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-09-18 16:57:42 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-09-18 16:57:42 +0000
commitc6f729ed5519cdf398ca4039dbdbea4f81433ec0 (patch)
tree869948d5bfd5d30bb4d55c7ee8a7a82b23d650f2 /test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll
parent7de3bd273ec3f4f027089285106095e8700e226d (diff)
downloadexternal_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.ll22
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
+}