Hans Wennborg
d71907dd07
Don't emit prologues or epilogues for naked functions (PR18791, PR20028)
...
For naked functions with parameters, Clang would still emit stores in the prologue
that would clobber the stack, because LLVM doesn't set up a stack frame. (This
shows up in -O0 compiles, because the stores are optimized away otherwise.)
For example:
__attribute__((naked)) int f(int x) {
asm("movl $42, %eax");
asm("retl");
}
Would result in:
_Z1fi:
movl 12(%esp), %eax
movl %eax, (%esp) <--- Oops.
movl $42, %eax
retl
Differential Revision: http://reviews.llvm.org/D5183
llvm-svn: 217198
2014-09-04 22:16:33 +00:00
Bill Wendling
d02fd83182
Fix testcases to not rely upon target-* attributes.
...
llvm-svn: 176135
2013-02-26 23:08:48 +00:00
Anna Zaks
0f424b029b
Revert "Add more attributes from the command line to functions."
...
This reverts commit 176009.
The commit is a likely cause of several buildbot failures.
llvm-svn: 176044
2013-02-25 19:51:03 +00:00
Bill Wendling
87869db5f5
Add more attributes from the command line to functions.
...
This is an ongoing process. Any command line option which a back-end cares about
should be added here.
llvm-svn: 176009
2013-02-25 07:15:16 +00:00
Bill Wendling
c33fc4c004
Modify the tests to use attribute group references instead of listing the
...
function attributes.
llvm-svn: 175606
2013-02-20 07:22:19 +00:00
Bill Wendling
985d1c5d15
Add the 'target-cpu' and 'target-features' attributes to functions.
...
The back-end will use these values to reconfigure code generation for different
features.
llvm-svn: 175308
2013-02-15 21:30:01 +00:00
Bill Wendling
85ab57ac5d
Update the tests.
...
This update coincides with r174110. That change ordered the attributes
alphabetically.
llvm-svn: 174111
2013-01-31 23:17:12 +00:00
Eli Friedman
c55efe4fb2
Make sure we don't inline functions marked with __attribute__((naked)). <rdar://problem/9973228>
...
llvm-svn: 138310
2011-08-22 23:55:33 +00:00
Daniel Dunbar
8caf6415a8
Add support for attribute((naked)), patch by Zoxc on cfe-commits!
...
- Minor style tweaks by me.
llvm-svn: 115056
2010-09-29 18:20:25 +00:00