summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorPeter Zotov <whitequark@whitequark.org>2016-08-30 10:48:31 +0000
committerPeter Zotov <whitequark@whitequark.org>2016-08-30 10:48:31 +0000
commit002572318938f74bb0177dd83d24a59b1cdd013d (patch)
tree2662b84887ca257991f4c27b15daa8448fb3d2e3 /llvm
parent96659df09c7b6920651dcbda8f11caad95d9bde8 (diff)
downloadbcm5719-llvm-002572318938f74bb0177dd83d24a59b1cdd013d.tar.gz
bcm5719-llvm-002572318938f74bb0177dd83d24a59b1cdd013d.zip
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
Diffstat (limited to 'llvm')
-rw-r--r--llvm/docs/LangRef.rst3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index 4f4d0cba95e..83573be24d6 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -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
""""""""""""""""
OpenPOWER on IntegriCloud