[InstSimplify] Fold LoadInst for uniform constant global variables
authorKohei Asano <kk.asano.luxy@gmail.com>
Mon, 20 Feb 2023 08:38:03 +0000 (09:38 +0100)
committerNikita Popov <npopov@redhat.com>
Mon, 20 Feb 2023 08:43:52 +0000 (09:43 +0100)
commita4d6c7dd99cbf1c802c633dc9f73a69131b03fe6
tree6d20c7e25cc6baf517a3fa159310a8fc33e501b8
parent78cd158cf92ce5abdf5e68230b68b06b57354a0f
[InstSimplify] Fold LoadInst for uniform constant global variables

Fold LoadInst for uniformly initialized constants, even if there
are non-constant GEP indices.

Goal proof: https://alive2.llvm.org/ce/z/oZtVby

Motivated by https://github.com/rust-lang/rust/issues/107208

Differential Revision: https://reviews.llvm.org/D144184
llvm/lib/Analysis/InstructionSimplify.cpp
llvm/test/Transforms/InstSimplify/load.ll