Displaying 1 result from an estimated 1 matches for "inlinem".
Did you mean:
inline
2020 Jan 26
2
[RFC] Replacing inalloca with llvm.call.setup and preallocated
...enerally this should be impossible, because the
calls
will be marked nounwind, and it is UB to throw an exception through a
nounwind
call site. However, SEH allows exceptions to be thrown through nounwind call
sites. Consider:
```c++
int mayThrow();
void use_callsetup(int, Foo);
static inline void inlineMe() {
void use_callsetup(mayThrow(), Foo());
}
void f(int numRetries) {
for (int i = 0; i < numRetries; i++) {
__try {
inlineMe();
} __except (1) {
}
}
}
```
Unless the compiler inserts stack adjustments along the unwind path, this
well
setup call argument memory for ever...