teak-llvm/clang/lib/Frontend
Pete Cooper e388680dfa Convert some ObjC msgSends to runtime calls.
It is faster to directly call the ObjC runtime for methods such as alloc/allocWithZone instead of sending a message to those functions.

This patch adds support for converting messages to alloc/allocWithZone to their equivalent runtime calls.

Tests included for the positive case of applying this transformation, negative tests that we ensure we only convert "alloc" to objc_alloc, not "alloc2", and also a driver test to ensure we enable this only for supported runtime versions.

Reviewed By: rjmccall

https://reviews.llvm.org/D55349

llvm-svn: 348687
2018-12-08 05:13:50 +00:00
..
Rewrite Pass the function type instead of the return type to FunctionDecl::Create 2018-11-11 00:56:15 +00:00
ASTConsumers.cpp [Frontend] Delete -print-decl-contexts 2018-10-03 03:50:44 +00:00
ASTMerge.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
ASTUnit.cpp NFC: Remove the ObjC1/ObjC2 distinction from clang (and related projects) 2018-10-30 20:31:30 +00:00
ChainedDiagnosticConsumer.cpp
ChainedIncludesSource.cpp PTH-- Remove feature entirely- 2018-12-04 14:34:09 +00:00
CMakeLists.txt PTH-- Remove feature entirely- 2018-12-04 14:34:09 +00:00
CodeGenOptions.cpp Use an enum value instead of a string. 2018-01-18 00:20:03 +00:00
CompilerInstance.cpp PTH-- Remove feature entirely- 2018-12-04 14:34:09 +00:00
CompilerInvocation.cpp Convert some ObjC msgSends to runtime calls. 2018-12-08 05:13:50 +00:00
CreateInvocationFromCommandLine.cpp Revert "Make clang-based tools find libc++ on MacOS" 2018-11-12 16:59:50 +00:00
DependencyFile.cpp Add a callback for __has_include and use it for dependency scanning. 2018-09-18 23:27:02 +00:00
DependencyGraph.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
DiagnosticRenderer.cpp llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-26 22:16:28 +00:00
FrontendAction.cpp Sink BuryPointer from Clang into LLVM for reuse there 2018-11-17 18:04:13 +00:00
FrontendActions.cpp PTH-- Remove feature entirely- 2018-12-04 14:34:09 +00:00
FrontendOptions.cpp [Frontend] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-26 21:45:04 +00:00
FrontendTiming.cpp Use special new Clang flag 'FrontendTimesIsEnabled' instead of 'llvm::TimePassesIsEnabled' inside -ftime-report feature. 2018-04-23 09:22:30 +00:00
HeaderIncludeGen.cpp [clang-cl] Print /showIncludes to stderr, if used in combination with /E, /EP or /P 2018-05-04 15:58:31 +00:00
InitHeaderSearch.cpp Move detection of libc++ include dirs to Driver on MacOS 2018-12-05 14:24:14 +00:00
InitPreprocessor.cpp PTH-- Remove feature entirely- 2018-12-04 14:34:09 +00:00
LangStandards.cpp Don't accept -std= values that would switch us to a different source language. 2017-04-26 23:44:33 +00:00
LayoutOverrideSource.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
LogDiagnosticPrinter.cpp
ModuleDependencyCollector.cpp [VFS] Remove 'ignore-non-existent-contents' attribute for YAML-based VFS. 2018-10-24 22:39:38 +00:00
MultiplexConsumer.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
PCHContainerOperations.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
PrecompiledPreamble.cpp Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
PrintPreprocessedOutput.cpp Fix combining pragma __debug dump & parser_crash with -E 2018-11-15 03:04:21 +00:00
SerializedDiagnosticPrinter.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
SerializedDiagnosticReader.cpp [Frontend] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-26 21:45:04 +00:00
TestModuleFileExtension.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
TestModuleFileExtension.h
TextDiagnostic.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
TextDiagnosticBuffer.cpp [Frontend] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-22 00:53:26 +00:00
TextDiagnosticPrinter.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
VerifyDiagnosticConsumer.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00