arsenm wrote:

> And it was a little confusing that the PR description argues we should remove 
> `-wasm-enable-eh/sjlj` options, which disagree, when the code seems to fix 
> something else. Those flags control behaviors, not exception models, so we 
> still need them. For example, someone might want to use only SjLj support but 
> not EH support, but because we implement SjLj using EH constructs, we still 
> need `-exception-model=wasm` and `-wasm-enable-sjlj`, but in this case not 
> `-wasm-enable-eh`.

There should be no cl::opts that change backend behavior like this. It needs to 
be part of the triple, or at worst a module flag explicitly in the IR. This is 
worse than TargetOptions, since it's an ABI option hidden in the backend. We 
should not have program state hidden in structs outside of the IR.

Additionally requiring this second flag on top of the -exception-model flag is 
an obnoxious user experience

https://github.com/llvm/llvm-project/pull/146343
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to