llvm-project/clang/lib/Basic
Toma Tabacu 9941195a9f [mips] Always clobber $1 for MIPS inline asm.
Summary:
Because GCC doesn't use $1 for code generation, inline assembly code can use $1 without having to add it to the clobbers list.

LLVM, on the other hand, does not shy away from using $1, and this can cause conflicts with inline assembly which assumes GCC-like code generation.

A solution to this problem is to make Clang automatically clobber $1 for all MIPS inline assembly.
This is not the optimal solution, but it seems like a necessary compromise, for now.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: cfe-commits

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

llvm-svn: 224428
2014-12-17 12:02:58 +00:00
..
Attributes.cpp Complete support for the SD-6 standing document (based off N4200) with support for __has_cpp_attribute. 2014-11-14 13:44:02 +00:00
Builtins.cpp CodeGen: make target builtins support languages 2014-07-02 17:41:27 +00:00
CMakeLists.txt Revert r223578, perf data collection depends on the old symbol name. 2014-12-10 23:49:03 +00:00
CharInfo.cpp CharInfo: Add missing "using namespace clang::charinfo" in .cpp file. 2013-02-08 22:37:49 +00:00
Diagnostic.cpp Make DiagnosticsEngine::takeClient return std::unique_ptr<> 2014-11-17 23:46:02 +00:00
DiagnosticIDs.cpp Make DiagnosticErrorTrap work even if SuppressAllDiagnostics is enabled. 2014-12-05 21:52:58 +00:00
FileManager.cpp [modules] When constructing paths relative to a module, strip out /./ directory 2014-12-11 20:50:24 +00:00
FileSystemStatCache.cpp Make VFS and FileManager match the current MemoryBuffer API. 2014-10-26 22:44:13 +00:00
IdentifierTable.cpp Emit warning if define or undef reserved identifier or keyword. 2014-12-11 12:18:08 +00:00
LangOptions.cpp [Sanitizer] Refactor sanitizer options in LangOptions. 2014-11-11 01:26:14 +00:00
Makefile Revert r223578, perf data collection depends on the old symbol name. 2014-12-10 23:49:03 +00:00
Module.cpp [modules] Track how 'header' directives were written in module map files, 2014-12-02 00:08:08 +00:00
ObjCRuntime.cpp Add a define for the ObjFW runtime ABI version. 2013-09-16 16:31:49 +00:00
OpenMPKinds.cpp [OPENMP] 'omp teams' directive basic support. 2014-10-09 04:18:56 +00:00
OperatorPrecedence.cpp Replace C++0x in a comment with C++11 2013-07-14 17:04:56 +00:00
SanitizerBlacklist.cpp Fixup for r220403: Use getFileLoc() instead of getSpellingLoc() in SanitizerBlacklist. 2014-10-22 19:34:25 +00:00
Sanitizers.cpp [Sanitizer] Refactor SanitizerArgs parsing in Driver. 2014-11-14 02:59:20 +00:00
SourceLocation.cpp Inline function into only use. 2014-08-18 18:17:32 +00:00
SourceManager.cpp Standardize on StringMap::insert, removing uses of StringMap::GetOrCreateValue. 2014-11-19 03:06:06 +00:00
TargetInfo.cpp Fix assertion on asm register that are "%" 2014-08-17 13:19:48 +00:00
Targets.cpp [mips] Always clobber $1 for MIPS inline asm. 2014-12-17 12:02:58 +00:00
TokenKinds.cpp [C++11] Use 'nullptr'. 2014-05-08 06:41:40 +00:00
Version.cpp Revert r223578, perf data collection depends on the old symbol name. 2014-12-10 23:49:03 +00:00
VersionTuple.cpp Patch to wrap up '_' as separator in version numbers 2014-10-06 16:46:02 +00:00
VirtualFileSystem.cpp Update for LLVM API change 2014-11-19 02:56:13 +00:00
Warnings.cpp Use -Rblah, not -Wblah, to control remark diagnostics. This was always the 2014-08-07 00:24:21 +00:00