[all-commits] [llvm/llvm-project] 4c8174: [OpaquePtr] Introduce option to force all pointers...

aeubanks via All-commits all-commits at lists.llvm.org
Thu Jun 24 13:32:46 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4c8174f54b4ec3c6dac8ad446567174442bf3c29
      https://github.com/llvm/llvm-project/commit/4c8174f54b4ec3c6dac8ad446567174442bf3c29
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2021-06-24 (Thu, 24 Jun 2021)

  Changed paths:
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Type.cpp
    A llvm/test/Other/force-opaque-ptrs.ll
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/opt/opt.cpp

  Log Message:
  -----------
  [OpaquePtr] Introduce option to force all pointers to be opaque pointers

We don't want to start updating tests to use opaque pointers until we're
close to the opaque pointer transition. However, before the transition
we want to run tests as if pointers are opaque pointers to see if there
are any crashes.

At some point when we have a flag to only create opaque pointers in the
bitcode and textual IR readers, and when we have fixed all places that
try to read a pointee type, this flag will be useless. However, until
then, this can help us find issues more easily.

Since the cl::opt is read into LLVMContext, we need to make sure
LLVMContext is created after cl::ParseCommandLineOptions().

Previously ValueEnumerator would visit the value types of global values
via the pointer type, but with opaque pointers we have to manually visit
the value type.

Reviewed By: nikic, dexonsmith

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




More information about the All-commits mailing list