Open Quuxplusone opened 14 years ago
Bugzilla Link | PR6796 |
Status | NEW |
Importance | P normal |
Reported by | Ed Schouten (ed@80386.nl) |
Reported on | 2010-04-06 11:51:59 -0700 |
Last modified on | 2010-09-01 14:21:09 -0700 |
Version | trunk |
Hardware | Macintosh FreeBSD |
CC | clattner@nondot.org, hinokind@gmail.com, llvm-bugs@lists.llvm.org, llvm@sunfishcode.online |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | PR1740 |
See also |
The code sequence is the generic code sequence that is needed if you do a vector of fp va_arg. GCC has an optimization pass that scans a function to see if the va_list provably doesn't escape and if there are no fp accesses.
This impacts stuff like the implementation of the open syscall.
This is aka rdar://7832354
For this to happen, we first need to get the front-ends using the va_arg instruction. For that to happen, CodeGen needs to fully support the va_arg instruction on all important targets. For that to happen, we need target-independent support for va_arg with aggregate types, and target-dependent support for lowering va_arg for all the important targets.
Patches welcome.