summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert CreateTargetInfo to use a Triple instead of manul string munging.Daniel Dunbar2009-08-181-72/+66
| | | | | | - Patch by Yonggang Luo (with some formatting tweaks by Eli and myself). llvm-svn: 79320
* Support compilation for the blackfin back-endJakob Stoklund Olesen2009-08-171-0/+81
| | | | llvm-svn: 79271
* use the new llvm::Triple parsing stuffola for handling darwin version #'s.Chris Lattner2009-08-121-93/+47
| | | | llvm-svn: 78794
* fix a couple of problems with section attributes:Chris Lattner2009-08-101-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Passing something that isn't a string used to cause: "argument to annotate attribute was not a string literal" make it say "section attribute" instead. 2. Fix the location of the above message to point to the bad argument instead of the section token. 3. Implement rdar://4341926, by diagnosing invalid section specifiers in the frontend rather than letting them slip all the way to the assembler (a QoI win). An example of #3 is that we used to produce something like this: /var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Expected comma after segment-name /var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Rest of line ignored. 1st junk character valued 46 (.). Daniel improved clang to use llvm_report_error, so now we got: $ clang t.c -c fatal error: error in backend: Global variable 'x' has an invalid section specifier 'sadf': mach-o section specifier requires a segment and section separated by a comma. with no loc info. Now we get: $ clang t.c -fsyntax-only t.c:4:30: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment and section separated by a comma int x __attribute__((section("sadf"))); ^ which is nice :) llvm-svn: 78586
* Add armv7 support.Mike Stump2009-08-041-2/+8
| | | | llvm-svn: 78092
* Hook in s390x stuff into clangAnton Korobeynikov2009-07-161-0/+69
| | | | llvm-svn: 76099
* codegen string literals using private linkage now like llvm-gcc, eliminatingChris Lattner2009-07-161-8/+0
| | | | | | some target hooks. llvm-svn: 75895
* add netbsd support, patch by Krister Kalfridsson!Chris Lattner2009-07-131-0/+23
| | | | llvm-svn: 75492
* Correct FreeBSD target info, fixing PR4514.Duncan Sands2009-07-081-1/+3
| | | | | | Patch by Roman Divacky. llvm-svn: 75003
* pic16 preproc defs.Sanjiv Gupta2009-07-071-0/+5
| | | | llvm-svn: 74893
* More tweaks to types for OpenBSD. Patch by Jonathan Gray.Eli Friedman2009-07-051-1/+14
| | | | llvm-svn: 74805
* Per PR4506, fix the type of size_t on OpenBSD.Eli Friedman2009-07-051-1/+12
| | | | llvm-svn: 74795
* Add an intermediate typedef for __builtin_va_tag to make it a bit easier Eli Friedman2009-07-031-1/+2
| | | | | | | to deal with for AST pretty-printing/rewriting. Patch by Abramo Bagnara. llvm-svn: 74752
* Two fixes to make Clang build on Visual C++ (again), from Alisdair Meredith.Douglas Gregor2009-07-011-5/+5
| | | | llvm-svn: 74606
* Fix for PR4192: fix the definition of int64_t on x86_64 Linux.Eli Friedman2009-07-011-2/+15
| | | | | | | | | | | | | Note that I'm guessing that *BSD and Solaris do the same thing as Linux here, but it's quite possible I'm wrong; if the following testcase gives an error on x86-64 with gcc for any of those operating systems, please tell me: #include <stdint.h> int64_t x; long x; llvm-svn: 74583
* Reapply r74532, and inherit from OSTargetInfo instead of from Target.Torok Edwin2009-06-301-353/+183
| | | | | | 'make test' passes now. llvm-svn: 74539
* Revert 74532 till I figure out why it breaks a bunch of tests.Torok Edwin2009-06-301-183/+353
| | | | llvm-svn: 74536
* Use templates instead of creating a new class for each OS/Target combination.Torok Edwin2009-06-301-353/+183
| | | | | | | | This unifies all the targets supported by an OS into a template. It also cleans up the differences between the darwin targets. Also __LP64__ wasn't needed for *BSD, since x86-64 target defines it anyway. llvm-svn: 74532
* Use true/false instead of 1/0.Daniel Dunbar2009-06-291-4/+4
| | | | llvm-svn: 74479
* Don't define __KPRINTF_ATTRIBUTE__ unconditionally on OpenBSD.Daniel Dunbar2009-06-291-1/+0
| | | | llvm-svn: 74467
* OpenBSD support.Daniel Dunbar2009-06-291-0/+46
| | | | | | - Patch by Jonathan Gray! llvm-svn: 74453
* Make the StackProtector bitfield use enums instead of obscure numbers.Bill Wendling2009-06-281-1/+1
| | | | llvm-svn: 74414
* Add stack protector support to clang. This generates the 'ssp' and 'sspreq'Bill Wendling2009-06-281-3/+6
| | | | | | | | function attributes. There are predefined macros that are defined when stack protectors are used: __SSP__=1 with -fstack-protector and __SSP_ALL__=2 with -fstack-protector-all. llvm-svn: 74405
* fix the type of wchar_t for windows, PR4417Chris Lattner2009-06-241-1/+1
| | | | llvm-svn: 74083
* __APPLE_CC__ should only be set when building for darwin targets.Chris Lattner2009-06-231-0/+1
| | | | llvm-svn: 73934
* move the various builtins stuff from libast to libbasic. ThisChris Lattner2009-06-141-5/+4
| | | | | | fixes a layering violation in lib/Basic/Targets.cpp. llvm-svn: 73318
* Add stack alignment to x86_64 target data.Daniel Dunbar2009-06-081-1/+1
| | | | | | | - <rdar://problem/6948443> WARNING: Linking two modules of different data layouts! llvm-svn: 73093
* Minor tweaks to the Windows target.Eli Friedman2009-06-081-0/+4
| | | | llvm-svn: 73083
* PR4346: add "R" asm register constraint.Eli Friedman2009-06-081-0/+1
| | | | llvm-svn: 73081
* Misc minor fixes for clang for the Windows target.Eli Friedman2009-06-081-3/+12
| | | | llvm-svn: 73050
* Move CharIsSigned from TargetInfo to LangOptions.Eli Friedman2009-06-051-3/+9
| | | | llvm-svn: 72928
* Move a couple Darwin-specific defines into getDarwinDefines.Eli Friedman2009-06-041-0/+5
| | | | llvm-svn: 72900
* Back out r72764; I should have looked more carefully before committing Eli Friedman2009-06-031-7/+0
| | | | | | this. The correct replacement for "Y" and "Yt" is "x". llvm-svn: 72765
* PR3678: Add support for "Yt" asm register constraint.Eli Friedman2009-06-031-0/+7
| | | | llvm-svn: 72764
* Add floating point details to PIC16 Target.Sanjiv Gupta2009-06-021-1/+11
| | | | llvm-svn: 72713
* Add a couple missing ARM defines.Eli Friedman2009-05-291-0/+2
| | | | llvm-svn: 72583
* A few more tweaks for Solaris; please correct me if it's wrong somehow.Eli Friedman2009-05-221-7/+10
| | | | llvm-svn: 72240
* Improve target support for Solaris.Douglas Gregor2009-05-211-4/+42
| | | | llvm-svn: 72237
* 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
OpenPOWER on IntegriCloud