Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [CodeGen]: don't treat structures returned in registers as memory inputs | Alexander Potapenko | 2019-08-29 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | Summary: The "=r" output constraint for a structure variable passed to inline asm shouldn't be converted to "=*r", as this changes the asm directive semantics and prevents DSE optimizations. Instead, preserve the constraints and return such structures as integers of corresponding size, which are converted back to structures when storing the result. Fixes PR42672. Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65234 llvm-svn: 370335 | ||||
* | [inlineasm] Attach readonly and readnone to inline-asm instructions. | Akira Hatanaka | 2015-07-10 | 1 | -0/+33 |
Previously, clang/llvm treated inline-asm instructions conservatively, choosing not to eliminate the instructions or hoisting them out of a loop even when it was safe to do so. This commit makes changes to attach a readonly or readnone attribute to an inline-asm instruction, which enables passes such as LICM and EarlyCSE to move or optimize away the instruction. rdar://problem/11358192 Differential Revision: http://reviews.llvm.org/D10546 llvm-svn: 241930 |