[PATCH] D153638: [CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding it
Jordan Rupprecht via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 1 23:06:48 PDT 2023
rupprecht added a comment.
Reduced:
struct a {
a(decltype(nullptr));
long b;
} *c;
enum { d };
struct t {
_Atomic(a) e;
};
struct f : t {};
struct atomic {
f g;
void h() {
f *j = &g;
t *k = j;
__c11_atomic_load(&k->e, d);
}
};
a l(a *addr) {
reinterpret_cast<atomic *>(addr)->h();
return 0;
}
struct {
void m(long v) {
long w = sizeof(this);
c = reinterpret_cast<a *>(w);
a *o = c;
l(&o[v]);
}
} p;
a q();
long r;
bool u();
a s() {
if (u()) return q();
for (long i = r; i; i++) p.m(i);
return nullptr;
}
Compiled w/ `bin/clang -c /tmp/repro.cc -O2 -std=c++17`
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/tmp/repro.cc'.
4. Running pass 'CodeGen Prepare' on function '@_Z1sv'
...
#5 0x00005632704fe3b9 llvm::ilist_node_base<true>::isSentinel() const /home/rupprecht/src/llvm-project/llvm/include/llvm/ADT/ilist_node_base.h:45:36
#6 0x00005632704fe3b9 llvm::ilist_node_base<true>::isKnownSentinel() const /home/rupprecht/src/llvm-project/llvm/include/llvm/ADT/ilist_node_base.h:46:41
#7 0x00005632704fe3b9 llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, true, false, void>, false, false>::operator*() const /home/rupprecht/src/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:138:5
#8 0x00005632704fe3b9 llvm::early_inc_iterator_impl<llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, true, false, void>, false, false>>::operator*() /home/rupprecht/src/llvm-project/llvm/include/llvm/ADT/STLExtras.h:631:12
#9 0x00005632704fe3b9 (anonymous namespace)::CodeGenPrepare::runOnFunction(llvm::Function&) /home/rupprecht/src/llvm-project/llvm/lib/CodeGen/CodeGenPrepare.cpp:622:25
#10 0x0000563270a9d9ac llvm::FPPassManager::runOnFunction(llvm::Function&) /home/rupprecht/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:0:27
#11 0x0000563270aa3d61 llvm::FPPassManager::runOnModule(llvm::Module&) /home/rupprecht/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1481:13
#12 0x0000563270a9e008 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/rupprecht/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:0:27
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153638/new/
https://reviews.llvm.org/D153638
More information about the llvm-commits
mailing list