[PATCH] D61547: Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form

Duncan P. N. Exon Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 7 10:42:04 PDT 2019


dexonsmith requested changes to this revision.
dexonsmith added a comment.
This revision now requires changes to proceed.

Hmm; it doesn't seem safe to obsolete the 2-field form if we don't have a working bitcode upgrade from 2-field to 3-field.



================
Comment at: test/Bitcode/upgrade-global-ctors.ll:4
 
 ; Global constructors should no longer be upgraded when reading bitcode.
 ; CHECK: @llvm.global_ctors = appending global [0 x { i32, void ()* }] zeroinitializer
----------------
It seems like you might need to reimplement a bitcode upgrade here... why was it disabled?


================
Comment at: test/Bitcode/upgrade-global-ctors.ll:7
+
+; ERR: the third field of the element type is mandatory, specify i8* null to migrate from the obsoleted 2-field form
----------------
I don't think this is acceptable when reading from bitcode.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61547/new/

https://reviews.llvm.org/D61547





More information about the llvm-commits mailing list