Files
clang-p2996/llvm/test/CodeGen/X86/ptrtoint-constexpr.ll
Nikita Popov 348ea34bcd [AsmPrinter] Further restrict expressions supported in global initializers
lowerConstant() currently accepts a number of constant expressions
which have corresponding MC expressions, but which cannot be
evaluated as a relocatable expression (unless the operands are
constant, in which case we'll just fold the expression to a constant).

The motivation here is to clarify which constant expressions are
really needed for https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179,
and in particular clarify that we do not need to support any
division expressions, which are particularly problematic.

Differential Revision: https://reviews.llvm.org/D127972
2022-06-29 10:02:07 +02:00

15 lines
339 B
LLVM

; RUN: llc < %s -mtriple=i386-linux | FileCheck %s
%union.x = type { i64 }
; CHECK: .globl r
; CHECK: r:
; CHECK: .quad r&4294967295
@r = global %union.x { i64 ptrtoint (ptr @r to i64) }, align 4
; CHECK: .globl x
; CHECK: x:
; CHECK: .quad 3
@x = global i64 mul (i64 3, i64 ptrtoint (ptr getelementptr (i2, ptr null, i64 1) to i64))