docs: mention that clobbering output regs in inline asm is illegal.

I've found this out the hard way; LLVM will not normally catch this
error (unless -verify-machineinstrs is passed), and under certain
very specific circumstances (such as register scavenger running
under pressure) this would result in an opaque crash in codegen.

llvm-svn: 280071
This commit is contained in:
Peter Zotov 2016-08-30 10:48:31 +00:00
parent 96659df09c
commit 0025723189
1 changed files with 3 additions and 0 deletions

View File

@ -3385,6 +3385,9 @@ constraints, e.g. "``~{eax}``". The one exception is that a clobber string of
memory locations -- not only the memory pointed to by a declared indirect
output.
Note that clobbering named registers that are also present in output
constraints is not legal.
Constraint Codes
""""""""""""""""