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 | 592638ae05d06aed2752d919d4bb520a202e0596 (patch) | |
| tree | acee09ca34534bf5669573d19e34226238d56161 /llvm/test/CodeGen | |
| parent | bf4c56d82b1fef3eae36d4acb43aea296e9e464c (diff) | |
| download | bcm5719-llvm-592638ae05d06aed2752d919d4bb520a202e0596.tar.gz bcm5719-llvm-592638ae05d06aed2752d919d4bb520a202e0596.zip | |
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.
llvm-svn: 82227
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll b/llvm/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll new file mode 100644 index 00000000000..cc574c7290a --- /dev/null +++ b/llvm/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 +} |

