llvm-project/clang/lib
Akira Hatanaka 7828b1e604 Add support for function attribute 'disable_tail_calls'.
The ``disable_tail_calls`` attribute instructs the backend to not
perform tail call optimization inside the marked function.

For example, 

int callee(int);

int foo(int a) __attribute__((disable_tail_calls)) {
  return callee(a); // This call is not tail-call optimized.
}

Note that this attribute is different from 'not_tail_called', which
prevents tail-call optimization to the marked function.

rdar://problem/8973573

Differential Revision: http://reviews.llvm.org/D12547

llvm-svn: 252986
2015-11-13 00:42:21 +00:00
..
ARCMigrate Refactor: Simplify boolean conditional return statements in lib/ARCMigrate 2015-11-06 01:26:37 +00:00
AST [modules] Simplify and generalize the existing rule for finding hidden 2015-11-12 22:19:45 +00:00
ASTMatchers [AST] Re-add TypeLocs and NestedNameSpecifierLocs to the ParentMap. 2015-10-23 09:04:55 +00:00
Analysis Refactor: simplify boolean conditional return statements in lib/Analysis 2015-11-06 01:08:38 +00:00
Basic Cull non-standard variants of ARM architectures (NFC) 2015-11-12 15:52:02 +00:00
CodeGen Add support for function attribute 'disable_tail_calls'. 2015-11-13 00:42:21 +00:00
Driver Add support for driver option -mno-ms-bitfields. 2015-11-12 17:21:22 +00:00
Edit Replace double negation of !FileID.isInvalid() with FileID.isValid(). 2015-10-03 10:46:20 +00:00
Format Add support for GCC's '__auto_type' extension, per the GCC manual: 2015-11-11 02:02:15 +00:00
Frontend Revert r240335. 2015-11-12 21:55:58 +00:00
FrontendTool Provide a BuryPointer for unique_ptrs. 2014-08-29 16:53:14 +00:00
Headers [X86] Add 'pause' builtin that's already in llvm and use it instead of inline assembly to implement _mm_pause. 2015-11-11 08:13:33 +00:00
Index Roll-back r250822. 2015-10-20 13:23:58 +00:00
Lex Use %select to merge two diagnostics that only differ in one word and are emitted in the same place. NFC 2015-11-12 07:36:50 +00:00
Parse Add support for GCC's '__auto_type' extension, per the GCC manual: 2015-11-11 02:02:15 +00:00
Rewrite Roll-back r250822. 2015-10-20 13:23:58 +00:00
Sema Add support for function attribute 'disable_tail_calls'. 2015-11-13 00:42:21 +00:00
Serialization Add support for GCC's '__auto_type' extension, per the GCC manual: 2015-11-11 02:02:15 +00:00
StaticAnalyzer [static analyzer] Don't flag nil storage into NSMutableDictionary. 2015-11-11 00:49:22 +00:00
Tooling Make ArgumentAdjuster aware of the current file being processed. 2015-11-05 02:19:53 +00:00
CMakeLists.txt Fix build with various feature flag combinations 2014-07-14 22:17:22 +00:00
Makefile Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00