[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