[all-commits] [llvm/llvm-project] beee09: [CGBlocks] Don't assume presence of bitcast
Nikita Popov via All-commits
all-commits at lists.llvm.org
Wed Mar 23 07:40:03 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: beee09687f4602dba82a378bad94ed9657c97339
https://github.com/llvm/llvm-project/commit/beee09687f4602dba82a378bad94ed9657c97339
Author: Nikita Popov <npopov at redhat.com>
Date: 2022-03-23 (Wed, 23 Mar 2022)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
Log Message:
-----------
[CGBlocks] Don't assume presence of bitcast
With opaque pointers, the bitcast constexpr will not be present.
Commit: 5c6752d4ade99ecdaca391cf14b7d7e5c9a75fc1
https://github.com/llvm/llvm-project/commit/5c6752d4ade99ecdaca391cf14b7d7e5c9a75fc1
Author: Nikita Popov <npopov at redhat.com>
Date: 2022-03-23 (Wed, 23 Mar 2022)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
Log Message:
-----------
[CGObjCMac] Check global value type instead of poitner type
As we're going to reassign the initializer, we actually need the
value types to match, not just the pointer types. This is only
relevant with opaque pointers.
Commit: ba365561455e467664df8c656f111b26fd1f81de
https://github.com/llvm/llvm-project/commit/ba365561455e467664df8c656f111b26fd1f81de
Author: Nikita Popov <npopov at redhat.com>
Date: 2022-03-23 (Wed, 23 Mar 2022)
Changed paths:
M clang/test/CoverageMapping/ir.c
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Log Message:
-----------
[InstrProfiling] Account for missing bitcast/GEP
This code is supposed to clean up a constexpr bitcast/GEP, but
with opaque pointers this ends up dropping references to the
global.
Commit: 40d7d2ed66c20ccdd1a5e5a4c76879ca0bb40918
https://github.com/llvm/llvm-project/commit/40d7d2ed66c20ccdd1a5e5a4c76879ca0bb40918
Author: Nikita Popov <npopov at redhat.com>
Date: 2022-03-23 (Wed, 23 Mar 2022)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Log Message:
-----------
[Bitcode] Check for live uses of llvm.cmdline/embedded.module
The one use check here is very misleading: At this point we should
actually have no uses, because the only possible use in llvm.used
was already dropped. But because the use in llvm.used is generally
bitcasted, we end up still having one dead use here.
What we actually want to check is that there are no live uses, for
which a helper has recently been added.
Commit: a8690ba9d0147bbca8d9031ef1596c4de025e6ed
https://github.com/llvm/llvm-project/commit/a8690ba9d0147bbca8d9031ef1596c4de025e6ed
Author: Nikita Popov <npopov at redhat.com>
Date: 2022-03-23 (Wed, 23 Mar 2022)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[CGExpr] Perform bitcast unconditionally
The way the check is written is not compatible with opaque
pointers -- while we don't need to change the IR pointer type,
we do need to change the element type stored in the Address.
Compare: https://github.com/llvm/llvm-project/compare/9f63cd763ec8...a8690ba9d014
More information about the All-commits
mailing list