mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
9d315e1c2b
This function is deceptive at best: it doesn't return what you'd expect. If you have an arbitrary GlobalValue and you want to determine the alignment of that pointer, Value::getPointerAlignment() returns the correct value. If you want the actual declared alignment of a function or variable, GlobalObject::getAlignment() returns that. This patch switches all the users of GlobalValue::getAlignment to an appropriate alternative. Differential Revision: https://reviews.llvm.org/D80368
23 lines
571 B
LLVM
23 lines
571 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc < %s | FileCheck %s
|
|
|
|
target triple = "powerpc64le-unknown-linux-gnu"
|
|
|
|
@a = constant i64 zeroinitializer
|
|
|
|
define i64 @foo() {
|
|
; CHECK-LABEL: foo:
|
|
; CHECK: # %bb.0: # %entry
|
|
; CHECK-NEXT: li 4, 0
|
|
; CHECK-NEXT: addis 3, 2, a@toc@ha
|
|
; CHECK-NEXT: ld 3, a@toc@l(3)
|
|
; CHECK-NEXT: cmpd 7, 4, 4
|
|
; CHECK-NEXT: li 3, 0
|
|
; CHECK-NEXT: bne- 7, .+4
|
|
; CHECK-NEXT: isync
|
|
; CHECK-NEXT: blr
|
|
entry:
|
|
%value = load atomic i64, i64* @a acquire, align 8
|
|
ret i64 %value
|
|
}
|