summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* StringMap::first() is about to start returning a StringRef, adapt.Chris Lattner2011-07-141-1/+2
| | | | llvm-svn: 135166
* Disable avx feature from corei7-avx, and use -mavx for now. Right now, if ↵Bruno Cardoso Lopes2011-07-111-1/+1
| | | | | | | | | -mavx is specified, 128 avx code is used and we're not sure yet if this the behavior we want (and if it does, some improvements are needed before relying on it). llvm-svn: 134939
* Enable "avx" feature, so it can be seen by llvmBruno Cardoso Lopes2011-07-111-1/+1
| | | | llvm-svn: 134935
* Change -mno-mmx to be more compatible with gcc. Specifically, -mno-mmx ↵Eli Friedman2011-07-081-37/+53
| | | | | | | | | | | | should not imply -mno-sse. Note that because we don't usually touch the MMX registers anyway, all -mno-mmx needs to do is tweak the x86-32 calling convention a little for vectors that look like MMX vectors, and prevent the definition of __MMX__. clang doesn't actually stop the user from using MMX inline asm operands or MMX builtins in -mno-mmx mode; as a QOI issue, it would be nice to diagnose, but I doubt it really matters much. <rdar://problem/9694837> llvm-svn: 134770
* Fix a FIXME in clang ARM driver that was exposed as a bug with ARM backendEvan Cheng2011-07-081-11/+2
| | | | | | | | | | | | | change. Previously clang was passing the following feature strings to the ARM backend when CPU is cortex-a8: +neon,-vfp2,-vfp3 This used to work because -vfp2,-vfp3 had no effect after +neon. Now that the features are controlled by individual bits (with implied hierarchy), the net effect is all three features will be turned off. llvm-svn: 134691
* Fix a typo in the fpsr register and add the fpcr register.Eric Christopher2011-07-071-5/+5
| | | | | | Fixes PR10299 and rdar://9740322 llvm-svn: 134654
* FreeBSD gets FreeBSD target, just mipsel.Joerg Sonnenberger2011-07-071-1/+1
| | | | llvm-svn: 134619
* Fix C&P errorJoerg Sonnenberger2011-07-061-1/+1
| | | | llvm-svn: 134490
* Remove unused member of Builtin::Info.Eli Friedman2011-07-051-8/+8
| | | | llvm-svn: 134443
* Hook up mipsel-netbsd and mipsel-freebsd for OS specific handling.Joerg Sonnenberger2011-07-051-4/+11
| | | | llvm-svn: 134425
* Use OS-specific configuration for mips-netbsd and mips-freebsd.Joerg Sonnenberger2011-07-051-4/+11
| | | | llvm-svn: 134422
* Don't define _BIG_ENDIAN for NetBSD/PowerPC.Joerg Sonnenberger2011-07-051-1/+2
| | | | llvm-svn: 134411
* Fix indentationJoerg Sonnenberger2011-07-051-3/+3
| | | | llvm-svn: 134410
* Add explicit default case for -Wswitch-enum.Joerg Sonnenberger2011-07-041-0/+2
| | | | llvm-svn: 134399
* Use switch(os) style consistently. Add a bunch of NetBSD branches.Joerg Sonnenberger2011-07-041-10/+27
| | | | llvm-svn: 134393
* On PowerPC, both FreeBSD and NetBSD use ints for (s)size_tJoerg Sonnenberger2011-07-041-1/+5
| | | | llvm-svn: 134392
* Update for llvm commit r134291.Eric Christopher2011-07-021-1/+2
| | | | | | Fixes rdar://9714064 llvm-svn: 134292
* Add initial *-*-rtems* target, from Joel SherrillDouglas Gregor2011-07-011-0/+73
| | | | llvm-svn: 134283
* Use preferred 64-bit alignment for i64 & f64 for Thumb targets. Radar 9695134.Bob Wilson2011-06-291-1/+1
| | | | llvm-svn: 134070
* Move additional register names to their own lookup, separate fromEric Christopher2011-06-211-13/+17
| | | | | | | | register aliases. Fixes unnecessary renames of clobbers. Fixes part of rdar://9425559 llvm-svn: 133485
* As a hopefully temporary workaround for a header mistake, treatJohn McCall2011-06-171-0/+1
| | | | | | __bridge_retain as a synonym for __bridge_retained. llvm-svn: 133295
* Add some more memory constraints for ARM.Eric Christopher2011-06-171-0/+6
| | | | | | Part of rdar://9197685 llvm-svn: 133225
* On ARM make sure that we continue translating 'p' to 'r' for theEric Christopher2011-06-171-0/+3
| | | | | | | | constraints. rdar://9618597 llvm-svn: 133222
* Stylistic fix: move virtual keyword before return type.Evan Cheng2011-06-161-2/+1
| | | | llvm-svn: 133181
* Unconditionally #define the ARC ownership qualifiers, instead of #definingJohn McCall2011-06-161-8/+1
| | | | | | them only on Darwin tool chains. llvm-svn: 133112
* Automatic Reference Counting.John McCall2011-06-151-8/+28
| | | | | | | | | | Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. llvm-svn: 133103
* Followup to 132737; make two-character string explicit, add someStuart Hastings2011-06-081-1/+1
| | | | | | comments. rdar://problem/9037836 llvm-svn: 132752
* Clang support for ARM Uv/Uy/Uq inline-asm constraints.Stuart Hastings2011-06-071-4/+26
| | | | | | rdar://problem/9037836 llvm-svn: 132737
* Add stuff for o32 ABI conformance.Akira Hatanaka2011-06-021-2/+4
| | | | llvm-svn: 132443
* sandybridge is now called corei7-avxBenjamin Kramer2011-05-201-1/+1
| | | | llvm-svn: 131729
* Define __ARM_NEON__ in both ARM and Thumb modes. Radar 9431992.Bob Wilson2011-05-131-3/+3
| | | | llvm-svn: 131301
* __builtin_va_list is void* on ARM, not char*.John McCall2011-05-091-1/+1
| | | | | | rdar://problem/9391966 llvm-svn: 131080
* Revert r130750, "Make the mno flags match GCC. Patch by Alexander Best!", it ↵Daniel Dunbar2011-05-031-45/+29
| | | | | | breaks tests. llvm-svn: 130753
* Make the mno flags match GCC. Patch by Alexander Best!Michael J. Spencer2011-05-031-29/+45
| | | | llvm-svn: 130750
* 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
OpenPOWER on IntegriCloud