[all-commits] [llvm/llvm-project] 58db5f: [ConstFold] Support opaque pointers in constexpr GEPs

Nikita Popov via All-commits all-commits at lists.llvm.org
Tue Sep 7 11:50:46 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 58db5f6e959419aaca20798835d75d3646b99293
      https://github.com/llvm/llvm-project/commit/58db5f6e959419aaca20798835d75d3646b99293
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-09-07 (Tue, 07 Sep 2021)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    A llvm/test/Transforms/InstCombine/force-opaque-ptr.ll

  Log Message:
  -----------
  [ConstFold] Support opaque pointers in constexpr GEPs

Support opaque pointers in SymbolicallyEvaluateGEP() by using the
value type of a GlobalValue base or falling back to i8 if there
isn't one. We don't unconditionally generate i8 GEPs here because
that would lose inrange attribues, and because some optimizations
on globals currently rely on GEP types (e.g. the globals SROA
mentioned in the comment).

Differential Revision: https://reviews.llvm.org/D109297




More information about the All-commits mailing list