[llvm] [polly] IR: Remove uselist for constantdata (PR #137313)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Wed May 7 00:25:40 PDT 2025
mstorsjo wrote:
I also bisected a breakage down to this commit. It can be triggered with this reduced input:
```c++
struct QTransform {
double m_matrix[3];
};
struct QPaintEngineState {
int dirtyFlags;
};
struct QPaintEngine {
QPaintEngineState *state;
};
struct QPainterState : QPaintEngineState {
virtual ~QPainterState();
QTransform matrix;
};
struct QPaintEngineEx : QPaintEngine {
void stroke();
QPainterState *state() {
return static_cast<QPainterState *>(QPaintEngine::state);
}
};
void QPaintEngineEx::stroke() {
QPainterState __trans_tmp_1;
QTransform xform = state()->matrix;
state()->matrix = QTransform();
__trans_tmp_1.matrix = xform;
}
```
Compiled e.g. like this:
```console
$ clang -target x86_64-linux-gnu -c repro.cpp -O2
clang: ../include/llvm/IR/Value.h:360: llvm::Value::const_use_iterator llvm::Value::materialized_use_begin() const: Assertion `hasUseList()' failed.
```
https://github.com/llvm/llvm-project/pull/137313
More information about the llvm-commits
mailing list