-
Notifications
You must be signed in to change notification settings - Fork 161
Open
Labels
IR differenceA difference in ClangIR-generated LLVM IR that could complicate reusing original CodeGen testsA difference in ClangIR-generated LLVM IR that could complicate reusing original CodeGen tests
Description
https://godbolt.org/z/zrvbrqxEs has an example:
void f();
void g() {
try {
f();
f();
} catch (...) {}
}
CodeGen emits a single landing pad for the two calls, whereas with ClangIR you end up with duplicate landing pads (which aren't deduplicated even with LLVM optimizations). This ends up causing duplicating in the EH tables as well: https://godbolt.org/z/9aTnWjxEq. It shouldn't cause any correctness issues but it'll increase code size a bit until we address it.
bcardosolopes
Metadata
Metadata
Assignees
Labels
IR differenceA difference in ClangIR-generated LLVM IR that could complicate reusing original CodeGen testsA difference in ClangIR-generated LLVM IR that could complicate reusing original CodeGen tests