On the other hand, it's not completely possible to separate it from
the front end either since different languages can have different
semantics. Ada, C++, Objective C, etc.. Sometimes these can be handled
the same way under the hood, but it's dangerous for the compiler to
assume that to be true. At least some knowledge needs to be in the
front end code-gen.
what knowledge should be needs in the front end code-gen ?
are the exception handling semantics of the llvm-gcc ?
I have read the llvm-gcc 's except.c source file, I didn't get any
idea about the gcc's sjlj-eh semantics!