summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove this assert, I don't think it's being helpful and people haveEric Christopher2011-04-271-1/+0
| | | | | | been running into it. llvm-svn: 130296
* Driver/Darwin: Allow OS X deployment targets like 10.4.11, even though theyDaniel Dunbar2011-04-211-4/+8
| | | | | | can't be represented in the environment define. llvm-svn: 129939
* PTX: Add PTX intrinsics as builtins and add ptx32 and ptx64 as valid ↵Justin Holewinski2011-04-201-0/+86
| | | | | | architectures for triples, e.g. ptx32-unknown-unknown llvm-svn: 129870
* TWEAKDaniel Dunbar2011-04-191-1/+1
| | | | llvm-svn: 129835
* Driver/Darwin: Switch to using -macosx for OS name in triples.Daniel Dunbar2011-04-191-5/+1
| | | | llvm-svn: 129834
* ADT/Triple: Switch to using .isOSDarwin() predicate.Daniel Dunbar2011-04-191-12/+12
| | | | llvm-svn: 129823
* Basic/Darwin: Add support for new -osx and -ios style triples (not yet used).Daniel Dunbar2011-04-191-17/+33
| | | | llvm-svn: 129820
* Make -mno-mmx imply -mno-3dnow. This is what gcc does, and it makes sense.Michael J. Spencer2011-04-171-4/+3
| | | | | | | | Also, fold the sse4 and sse4.1 cases together. Patch by Alexander Best! llvm-svn: 129665
* Enable sse4 and aes for SandyBridge. Leave avx support commented out for now.Roman Divacky2011-04-051-2/+5
| | | | llvm-svn: 128923
* Explain why layout prefers 32 for small types on Thumb.Sandeep Patel2011-04-041-0/+4
| | | | llvm-svn: 128850
* Change ARM data layout strings to match llvm-gcc.Bob Wilson2011-04-041-5/+5
| | | | | | | | | Sandeep Patel noticed that the alignment was wrong for Neon vector types, and this change is partly derived from his patch. For the APCS ABI, however, additional changes were required: the maximum ABI alignment is 32 bits and the preferred alignment for i64 and f64 types should be 64 bits. llvm-svn: 128825
* Implement a new 'availability' attribute, that allows one to specifyDouglas Gregor2011-03-231-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | which versions of an OS provide a certain facility. For example, void foo() __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6))); says that the function "foo" was introduced in 10.2, deprecated in 10.4, and completely obsoleted in 10.6. This attribute ties in with the deployment targets (e.g., -mmacosx-version-min=10.1 specifies that we want to deploy back to Mac OS X 10.1). There are several concrete behaviors that this attribute enables, as illustrated with the function foo() above: - If we choose a deployment target >= Mac OS X 10.4, uses of "foo" will result in a deprecation warning, as if we had placed attribute((deprecated)) on it (but with a better diagnostic) - If we choose a deployment target >= Mac OS X 10.6, uses of "foo" will result in an "unavailable" warning (in C)/error (in C++), as if we had placed attribute((unavailable)) on it - If we choose a deployment target prior to 10.2, foo() is weak-imported (if it is a kind of entity that can be weak imported), as if we had placed the weak_import attribute on it. Naturally, there can be multiple availability attributes on a declaration, for different platforms; only the current platform matters when checking availability attributes. The only platforms this attribute currently works for are "ios" and "macosx", since we already have -mxxxx-version-min flags for them and we have experience there with macro tricks translating down to the deprecated/unavailable/weak_import attributes. The end goal is to open this up to other platforms, and even extension to other "platforms" that are really libraries (say, through a #pragma clang define_system), but that hasn't yet been designed and we may want to shake out more issues with this narrower problem first. Addresses <rdar://problem/6690412>. As a drive-by bug-fix, if an entity is both deprecated and unavailable, we only emit the "unavailable" diagnostic. llvm-svn: 128127
* Make the definition of "long double" consistent for llvm::Triple::Win32 forEli Friedman2011-03-221-1/+3
| | | | | | both 32-bit and 64-bit targets. llvm-svn: 128110
* Another cortex-m0 patch from James Orr.Bob Wilson2011-03-211-0/+1
| | | | llvm-svn: 128029
* Unbreak build.Daniel Dunbar2011-03-191-1/+2
| | | | llvm-svn: 127942
* lib/Basic/Targets.cpp: __declspec(attr) should be provided on mingw as ↵NAKAMURA Takumi2011-03-151-2/+18
| | | | | | | | macro, alias of __attribute__. On mingw without -fms-extensions, we can provide "as-is" __declspec. llvm-svn: 127655
* lib/Basic/Targets.cpp: mingw-w64 should define __MINGW32__, too.NAKAMURA Takumi2011-03-081-0/+1
| | | | llvm-svn: 127238
* Targets/Darwin: mcount name on Darwin needs to be unmangled.Daniel Dunbar2011-02-211-0/+1
| | | | llvm-svn: 126152
* Re-instate r125819 and r125820 with no functionality changePeter Collingbourne2011-02-191-12/+0
| | | | llvm-svn: 126060
* Revert 125820 and 125819 to fix PR9266.Rafael Espindola2011-02-191-0/+12
| | | | llvm-svn: 126050
* [Heikki Kultala] This patch contains the ABI changes for the TCE target.NAKAMURA Takumi2011-02-181-2/+2
| | | | | | TCE target has some too strict alignment rules (that the HW really does not require, but which caused problems elsewhere) for data types and an ABI change was decided. llvm-svn: 125833
* Move TargetInfo::adjustInlineAsmType to TargetCodeGenInfoPeter Collingbourne2011-02-181-12/+0
| | | | llvm-svn: 125819
* Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 instead.NAKAMURA Takumi2011-02-171-1/+1
| | | | | | No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. llvm-svn: 125742
* Implement mcount profiling, enabled via -pg.Roman Divacky2011-02-101-0/+19
| | | | llvm-svn: 125282
* Support EFI target triple, from Carl Norum!Douglas Gregor2011-02-011-1/+4
| | | | llvm-svn: 124660
* lib/Basic/Targets.cpp: __builtin_va_list is as same on win64 mingw64!NAKAMURA Takumi2011-01-171-3/+3
| | | | llvm-svn: 123691
* lib/Basic/Targets.cpp: Fix __declspec() on Mingw-w64.NAKAMURA Takumi2011-01-171-1/+1
| | | | | | It should be defined as-is. Some headers would detect existence of __declspec and use one. llvm-svn: 123690
* lib/Basic/Targets.cpp: Set user_label_prefix on Win64 both mingw and msvc.NAKAMURA Takumi2011-01-171-0/+1
| | | | llvm-svn: 123689
* wint_t is defined as 'unsigned int' on Linux. Fixes PR8938.Douglas Gregor2011-01-121-0/+1
| | | | llvm-svn: 123320
* Add cortex-m3 CPU to getCPUDefineSuffix mapping.Bob Wilson2011-01-061-0/+1
| | | | | | Patch by Sylvère Teissier. llvm-svn: 122965
* PowerPC fixes.Roman Divacky2011-01-061-17/+24
| | | | | | | | | | | | | Fix the width and align of bool type on Darwin to be 32bits while keeping it 8 everywhere else. Change the definition of va_list to default to SV4 ABI one and let darwin subtarget override this. Both changes submitted by Nathan Whitehorn and reviewed by Rafael Espindola. llvm-svn: 122956
* set features for k8-sse3Roman Divacky2010-12-291-0/+3
| | | | llvm-svn: 122629
* Change MBlaze target to have the same description string as its LLVM equivalent.Wesley Peck2010-12-121-2/+1
| | | | llvm-svn: 121640
* Such function decls,as objc's objc_msgSend, builtins in Fariborz Jahanian2010-11-301-6/+9
| | | | | | | | | a specific language. We are adding such language info. by extensing Builtins.def and via a language flag added to LIBBUILTIN/BUILTIN and check for that when deciding a name is builtin or not. Implements //rdar://8689273. llvm-svn: 120429
* Add support for soft/hard float options to the Sparc targetBruno Cardoso Lopes2010-11-091-0/+20
| | | | llvm-svn: 118514
* Include System/DataTypes.h in Diagnostic.h to get intptr_t.Rafael Espindola2010-11-091-0/+1
| | | | | | | Set Haiku's UserLabelPrefix to "". Patch by Paul Davey. llvm-svn: 118510
* Handle Type.h a better way.Dale Johannesen2010-10-291-0/+1
| | | | llvm-svn: 117743
* Generate bitcasts going in and out of MMX parametersDale Johannesen2010-10-291-0/+13
| | | | | | | | | in asm's. PR 8501, 8602988. I don't like including Type.h where it is; the idea was to get references to X86_MMXTy out of the common code. Maybe there's a better way? llvm-svn: 117736
* Ahem. Add rest of D and Q registers to ARM inline asm handling.Dale Johannesen2010-10-281-1/+4
| | | | llvm-svn: 117517
* Add D and Q register names to ARM inline asm handling.Dale Johannesen2010-10-271-3/+9
| | | | | | No aliasing is needed, these work as given in the BE. llvm-svn: 117508
* Change handling of inline asm 'p' constraint to match llvm-gcc.Dale Johannesen2010-10-221-0/+2
| | | | llvm-svn: 117149
* Revert r117005, WIN32 is not predefined after all.Francois Pichet2010-10-211-1/+0
| | | | llvm-svn: 117026
* MSVC defines WIN32 as a predefined macro.Francois Pichet2010-10-211-0/+1
| | | | llvm-svn: 117005
* Targets: Fix MinGW and VisualStudio predefined macros.Michael J. Spencer2010-10-211-12/+56
| | | | llvm-svn: 117003
* Reorganize predefined macros for all Windows targets.Michael J. Spencer2010-10-211-55/+74
| | | | | | | | | | This adds an option to set the _MSC_VER macro without recompiling. This is very useful when testing compatibility with the Windows SDK and c++stdlib headers. -fmsc-version=<version> (defaults to VS2003 (1300)) llvm-svn: 116999
* Fix Whitespace.Michael J. Spencer2010-10-211-45/+45
| | | | llvm-svn: 116990
* Revert "Cleanup and fix predefined macros for windows."Michael J. Spencer2010-10-211-72/+53
| | | | | | Didn't realize this was on my branch ;/. llvm-svn: 116989
* Cleanup and fix predefined macros for windows.Michael J. Spencer2010-10-211-53/+72
| | | | llvm-svn: 116988
* CodeGen: Fix long double on Windows using MSVC runtime.Michael J. Spencer2010-10-181-0/+2
| | | | llvm-svn: 116700
* Fix Whitespace.Michael J. Spencer2010-10-181-3/+3
| | | | llvm-svn: 116699
OpenPOWER on IntegriCloud