[PATCH] D67453: Remove the obsolete BlockByRefStruct flag from LLVM IR

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 11 11:33:49 PDT 2019


aprantl created this revision.
aprantl added reviewers: vsk, dblaikie, davide, friss.
aprantl added a project: debug-info.
Herald added a reviewer: deadalnix.
Herald added subscribers: dexonsmith, hiraditya, mehdi_amini.
Herald added a project: LLVM.

DIFlagBlockByRefStruct is an unused DIFlag that originally was used by clang to express (Objective-)C block captures in debug info. For the last year Clang has been emitting complex DIExpressions to describe block captures instead, which makes all the code supporting this flag redundant.

This patch removes the flag and all supporting "dead" code, so we can reuse the bit for something else in the future.

Since this only affects debug info generated by Clang with the block extension this mostly affects Apple platforms and I don't have any bitcode compatibility concerns for removing this. The Verifier will reject debug info that uses the bit and thus degrade gracefully when LTO'ing older bitcode with a newer compiler.


https://reviews.llvm.org/D67453

Files:
  llvm/bindings/go/llvm/dibuilder.go
  llvm/include/llvm-c/DebugInfo.h
  llvm/include/llvm/IR/DebugInfoFlags.def
  llvm/include/llvm/IR/DebugInfoMetadata.h
  llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
  llvm/lib/IR/Verifier.cpp
  llvm/test/CodeGen/ARM/debug-info-blocks.ll
  llvm/test/DebugInfo/Generic/block-asan.ll
  llvm/test/Verifier/blockbyref.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67453.219751.patch
Type: text/x-patch
Size: 9844 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190911/03c5c011/attachment-0001.bin>


More information about the llvm-commits mailing list