[llvm] r192281 - AArch64: migrate ADRP relaxation test to be llvm-mc only.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Oct 9 05:58:07 PDT 2013


thanks!

On 9 October 2013 03:53, Tim Northover <tnorthover at apple.com> wrote:
> Author: tnorthover
> Date: Wed Oct  9 02:53:49 2013
> New Revision: 192281
>
> URL: http://llvm.org/viewvc/llvm-project?rev=192281&view=rev
> Log:
> AArch64: migrate ADRP relaxation test to be llvm-mc only.
>
> Added:
>     llvm/trunk/test/MC/AArch64/adrp-relocation.s
> Removed:
>     llvm/trunk/test/CodeGen/AArch64/adrp-relocation.ll
>
> Removed: llvm/trunk/test/CodeGen/AArch64/adrp-relocation.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/adrp-relocation.ll?rev=192280&view=auto
> ==============================================================================
> --- llvm/trunk/test/CodeGen/AArch64/adrp-relocation.ll (original)
> +++ llvm/trunk/test/CodeGen/AArch64/adrp-relocation.ll (removed)
> @@ -1,27 +0,0 @@
> -; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs -filetype=obj < %s | llvm-readobj -s -r | FileCheck %s
> -
> -define i64 @testfn() nounwind {
> -entry:
> -  ret i64 0
> -}
> -
> -define i64 @foo() nounwind {
> -entry:
> -  %bar = alloca i64 ()*, align 8
> -  store i64 ()* @testfn, i64 ()** %bar, align 8
> -  %call = call i64 @testfn()
> -  ret i64 %call
> -}
> -
> -; The above should produce an ADRP/ADD pair to calculate the address of
> -; testfn. The important point is that LLVM shouldn't think it can deal with the
> -; relocation on the ADRP itself (even though it knows everything about the
> -; relative offsets of testfn and foo) because its value depends on where this
> -; object file's .text section gets relocated in memory.
> -
> -; CHECK:      Relocations [
> -; CHECK-NEXT:   Section (2) .rela.text {
> -; CHECK-NEXT:     0x10 R_AARCH64_ADR_PREL_PG_HI21 testfn 0x0
> -; CHECK-NEXT:     0x14 R_AARCH64_ADD_ABS_LO12_NC testfn 0x0
> -; CHECK-NEXT:   }
> -; CHECK-NEXT: ]
>
> Added: llvm/trunk/test/MC/AArch64/adrp-relocation.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AArch64/adrp-relocation.s?rev=192281&view=auto
> ==============================================================================
> --- llvm/trunk/test/MC/AArch64/adrp-relocation.s (added)
> +++ llvm/trunk/test/MC/AArch64/adrp-relocation.s Wed Oct  9 02:53:49 2013
> @@ -0,0 +1,18 @@
> +// RUN: llvm-mc -triple=aarch64-linux-gnu -filetype=obj -o - %s| llvm-readobj -r - | FileCheck %s
> +        .text
> +// These should produce an ADRP/ADD pair to calculate the address of
> +// testfn. The important point is that LLVM shouldn't think it can deal with the
> +// relocation on the ADRP itself (even though it knows everything about the
> +// relative offsets of testfn and foo) because its value depends on where this
> +// object file's .text section gets relocated in memory.
> +        adrp x0, sym
> +        adrp x0, :got:sym
> +        adrp x0, :gottprel:sym
> +        adrp x0, :tlsdesc:sym
> +
> +        .global sym
> +sym:
> +// CHECK: R_AARCH64_ADR_PREL_PG_HI21 sym
> +// CHECK: R_AARCH64_ADR_GOT_PAGE sym
> +// CHECK: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 sym
> +// CHECK: R_AARCH64_TLSDESC_ADR_PAGE sym
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list