summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Targets without long long should reduce the size of intmax_t Eli Friedman2009-05-161-0/+2
| | | | | | accordingly. llvm-svn: 71966
* Provide dummy va_list typedef for msp430Anton Korobeynikov2009-05-081-1/+1
| | | | llvm-svn: 71233
* Handle -march for the LLVM recognized cpu names.Daniel Dunbar2009-05-061-10/+35
| | | | | | | - x86 target feature handling should not be feature complete, even if the code quality is lacking. llvm-svn: 71123
* More x86 target feature support.Daniel Dunbar2009-05-061-4/+58
| | | | | | | | | | | | | | | | | | - Apologies for the extremely gross code duplication, I want to get this working and then decide how to get this information out of the back end. - This replaces -m[no-]sse4[12] by -m[no-]sse4, it appears gcc doesn't distinguish them? - -msse, etc. now properly disable/enable related features. - Don't always define __SSE3__... - The main missing functionality bit here is that we don't initialize the features based on the CPU for all -march options. llvm-svn: 71117
* Tweak x86 -mcpu defaults.Daniel Dunbar2009-05-061-0/+3
| | | | | | | | | - Default to yonah on Darwin (to get SSE3). - Default to Pentium4 (32-bit) and x86-64 (64-bit) on non-Darwin. Welcome to the 21st century. llvm-svn: 71069
* Improve handling of (X86) target features.Daniel Dunbar2009-05-061-45/+52
| | | | | | | | | | | | | | | | | | | | | - This is a WIP... - This adds -march= handling to the driver, and fixes the defaulting of -mcpu on Darwin (which was using the wrong test). Instead of handling -m{sse, ...} in the driver, pass them to clang-cc as -target-feature [+-]name In clang-cc, communicate with the (clang) target to discover the legal features of a target, and the features which are enabled based on -mcpu. This is currently hardcoded just enough to not be a feature regression, we need to get this information from the backend's TableGen information somehow. This is used to construct the full list of features which are being used, which is in turn used to initialize the predefines. llvm-svn: 71061
* Hook msp430 inAnton Korobeynikov2009-05-031-0/+73
| | | | llvm-svn: 70774
* Whitespace cleanupAnton Korobeynikov2009-05-031-139/+138
| | | | llvm-svn: 70773
* change TargetInfo::ConstraintInfo to be a struct that containsChris Lattner2009-04-261-6/+6
| | | | | | the enum along with some other data. llvm-svn: 70114
* some arm triples have weird characters in them, just fuzzy matchChris Lattner2009-04-231-7/+11
| | | | | | on armv* to be more compatible llvm-svn: 69864
* Pass and return aggregate types directly to function calls.Sanjiv Gupta2009-04-211-1/+1
| | | | llvm-svn: 69668
* Add target property for whether thread-local storage is supported. Eli Friedman2009-04-191-3/+9
| | | | | | | | Let me know if I messed up for some target. Note that for Windows, we should be able to support it (MSVC supports "__declspec(thread)"), but I'm pretty sure LLVM doesn't know how to generate the correct code. llvm-svn: 69552
* actually just do this on all x86 targets, it won't hurtChris Lattner2009-04-191-10/+5
| | | | | | non-glibc ones. llvm-svn: 69528
* Define __NO_MATH_INLINES on linux/x86 so that we don't get inlineChris Lattner2009-04-191-0/+10
| | | | | | | | | | functions in glibc header files that use FP Stack inline asm which the backend can't deal with (PR879). This "fixes" PR3970 for linux. Other affected systems should do similar things. Maybe this should just go to the general i386/x86-64 sections? llvm-svn: 69527
* Support -miphoneos-version-min in clang-cc.Daniel Dunbar2009-04-101-25/+79
| | | | | | | | | | - Patch by Shantonu Sen (with a minor tweak to split out getDarwin{OSX,IPhoneOS}Defines)! - <rdar://problem/6776277> Need clang-cc/ccc-analyzer support for -miphoneos-version-min llvm-svn: 68815
* remove fixme!Chris Lattner2009-04-081-2/+0
| | | | llvm-svn: 68589
* Add basic support for arm static analysis checking. Radar 6699395Mike Stump2009-04-081-3/+33
| | | | llvm-svn: 68582
* Fariborz points out that weak is now defined to the attribute evenChris Lattner2009-04-071-6/+6
| | | | | | in C mode. llvm-svn: 68520
* The __weak and __strong defines are common to all darwin targetsChris Lattner2009-04-071-6/+16
| | | | | | | | | | | and are even set in C mode. As such, move them to Targets.cpp. __OBJC_GC__ is also darwin specific, but seems reasonable to always define it when in objc-gc mode. This fixes rdar://6761450 llvm-svn: 68494
* Provide sema proper values of maximal number of arguments passed in registers.Anton Korobeynikov2009-04-031-0/+2
| | | | llvm-svn: 68413
* Add target hook for setting symbol prefix and section of unicodeDaniel Dunbar2009-04-031-0/+16
| | | | | | string literals. llvm-svn: 68363
* Add Target hooks for IRgen of [cf]string literals.Daniel Dunbar2009-03-311-0/+18
| | | | | | | | | | | - Notably, set section on cfstring literal string data (for now, this is done everywhere because it matches what we were already doing for the CFString data itself) - <rdar://problem/6599098> [irgen] linker requires objc string data to go into cstring llvm-svn: 68160
* Fix the default for intptr_t on *BSD x86-32 and Windows. Slight cleanup Eli Friedman2009-03-291-14/+7
| | | | | | by moving the general case to the generic x86-32 target. llvm-svn: 68015
* Ad FreeBSD ARM target info.Daniel Dunbar2009-03-231-0/+15
| | | | | | - Patch by Ed Schoeten! llvm-svn: 67527
* refactor some code, fixing a problem discovered by the dragonfly bsd people, ↵Chris Lattner2009-03-201-19/+31
| | | | | | | | where clang was defining "i386" even when in non-gnu mode. llvm-svn: 67378
* pass langoptions around.Chris Lattner2009-03-201-9/+10
| | | | llvm-svn: 67376
* pass LangOptions into TargetInfo::getTargetDefines, so that targetsChris Lattner2009-03-201-33/+53
| | | | | | can have language-specific defines. llvm-svn: 67375
* implement support for propagating *features* down to the code generatorChris Lattner2009-03-031-8/+41
| | | | | | | | | | | and defining target-specific macros based on them (like __SSE3__ and friends). After extensive discussion with Daniel, this work will need driver support, which will translate things like -msse3 into a -mattr feature. Until this work is done, the code in clang.cpp is disabled and the X86TargetInfo ctor still defaults to SSE2. With these two things changed, this code will work. PR3634 llvm-svn: 65966
* Add plumbing to support programatically defining __SSE2__ and friends,Chris Lattner2009-03-021-6/+27
| | | | | | | even though we still hard code sse2 for now. No support for 3dnow or sse4a, but someone could add that if they desired. llvm-svn: 65886
* minor cleanups to target-specific #defines, no functionality change.Chris Lattner2009-03-021-95/+80
| | | | llvm-svn: 65885
* improve compatibility with GCC 4.4, patch by Michel Salim (PR3697)Chris Lattner2009-03-021-0/+14
| | | | llvm-svn: 65884
* TargetInfo::validateAsmConstraint now takes a reference to the full ↵Anders Carlsson2009-02-281-9/+9
| | | | | | constraints string. This will make it possible to support multi-character constraints. No functionality change (for now). llvm-svn: 65696
* Minor refactoring.Fariborz Jahanian2009-02-241-3/+2
| | | | llvm-svn: 65414
* patch for two things.Fariborz Jahanian2009-02-241-2/+3
| | | | | | | make sure objc2's nonfragile abi is enacted for Leopard too. add -fobjc-gc-only flag to the image_info symbol. llvm-svn: 65413
* add support for amd64-*, patch by Brooks Davis!Chris Lattner2009-02-201-1/+1
| | | | llvm-svn: 65124
* Supply the header corresponding to a library builtin as a separate argument ↵Douglas Gregor2009-02-161-2/+5
| | | | | | to the LIBBUILTIN macro llvm-svn: 64676
* Add -ffreestanding to suppress the implicit declaration of library builtins ↵Douglas Gregor2009-02-141-2/+2
| | | | | | like printf and malloc. Fixes PR3586 llvm-svn: 64566
* Define __ELF__ on FreeBSD. Patch by Roman Divacky!Anton Korobeynikov2009-02-141-1/+1
| | | | llvm-svn: 64557
* Define __ELF__ for linux systems.Argyrios Kyrtzidis2009-02-141-0/+1
| | | | llvm-svn: 64553
* Give TargetInfo a new IntPtrType to hold the intptr_t type forChris Lattner2009-02-131-0/+2
| | | | | | | | | | a target. Make Preprocessor.cpp define a new __INTPTR_TYPE__ macro based on this. On linux/32, set intptr_t to int, instead of long. This fixes PR3563. llvm-svn: 64495
* Make nonfragile-abi the default for darwin's 64bitFariborz Jahanian2009-02-121-1/+5
| | | | | | abi for objective-c programs. llvm-svn: 64386
* make clang agree with gcc 4.2's x86-64 predefines and settings.Chris Lattner2009-02-051-0/+4
| | | | llvm-svn: 63849
* fix some differences between apple gcc and clang on darwin/x86-32.Chris Lattner2009-02-051-0/+4
| | | | llvm-svn: 63846
* long long and double have 64-bit alignment on x86-64.Chris Lattner2009-01-281-0/+1
| | | | llvm-svn: 63191
* add SparcV8 asm register info support. Patch by Ben Lickly!Chris Lattner2009-01-271-10/+57
| | | | llvm-svn: 63085
* Handle the 'e' constraint. Fixes PR3385Anders Carlsson2009-01-241-2/+4
| | | | llvm-svn: 62923
* Fit in 80 colsNate Begeman2009-01-181-1/+2
| | | | llvm-svn: 62439
* instead of forcing blocks on by default, make them default to off, but letChris Lattner2008-12-041-27/+58
| | | | | | | | specific targets default them to on. Default blocks to on on 10.6 and later. Add a -fblocks option that allows the user to override the target's default. Use -fblocks in the various testcases that use blocks. llvm-svn: 60563
* replace useNeXTRuntimeAsDefault with a generic hook that allows targetsChris Lattner2008-12-041-4/+25
| | | | | | to specify their default language options. llvm-svn: 60561
* More fallout from r58501: primary fix is some more corrections to make Eli Friedman2008-11-021-7/+18
| | | | | | | | | | | | | | | | | the types for size_t and ptrdiff_t more accurate. I think all of these are correct, but please compare the defines for __PTRDIFF_TYPE__ and __SIZE_TYPE__ to gcc to double-check; this particularly applies to those on BSD variants, since I'm not sure what they do here; I assume here that they're the same as on Linux. Fixes wchar_t to be "int", not "unsigned int" (which I think is correct on everything but Windows). Fixes ptrdiff_t to be "int" rather than "short" on PIC16; "short" is an somewhat strange choice because it normally gets promoted, and it's not consistent with the choice for size_t. llvm-svn: 58556
OpenPOWER on IntegriCloud