[LLVMdev] aborting on invalid code
Dan Gohman
gohman at apple.com
Mon Oct 13 10:05:54 PDT 2008
On Sat, October 11, 2008 3:13 pm, Chris Lattner wrote:
> [...] Sending invalid
> code into the backend is violating a very important invariant in the
> API. I don't see how it would be any different then passing in a null
> pointer or garbage pointer into an API that would then bus error.
Besides invalid IR, codegen also uses abort and assert when it
encounters valid and Verifier-clean IR that uses features that
codegen does not suport, due to missing functionality (e.g. i1024)
or due to target-specific limitations (e.g. x86_f80 on non-x86
targets).
Currently there no way to recover if the IR contains some
construct that codegen can't handle. This is unfortunate for some
applications.
Dan
More information about the llvm-dev
mailing list