aboutsummaryrefslogtreecommitdiff
path: root/lib/Basic/Targets.cpp
AgeCommit message (Collapse)Author
2009-09-11Swizzle the target triple based on -mthumb, and update clang-cc to recognizeDaniel Dunbar
thumb-foo-bar as an ARM target. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81497 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09Remove tabs, and whitespace cleanups.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-03Add basic support for -pthread.Daniel Dunbar
- Patch by David Chisnall, with PCH and Darwin support mixed in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80883 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Remove TargetInfo::getTargetPrefix().Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79907 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Switch TargetInfo to store an llvm::Triple.Daniel Dunbar
- Primarily to discourage clients form making decisions based on the string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79901 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Issue an error if the user specifies parameters in a function marked as ISR.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Add TCE target to clang; patch by Mikael Lepistö.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79462 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Switch to SmallString::str from SmallString::c_str.Daniel Dunbar
- Several FIXMEs due to non-Twinification of IRBuilder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79455 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Convert CreateTargetInfo to use a Triple instead of manul string munging.Daniel Dunbar
- Patch by Yonggang Luo (with some formatting tweaks by Eli and myself). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79320 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Support compilation for the blackfin back-endJakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79271 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12use the new llvm::Triple parsing stuffola for handling darwin version #'s.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10fix a couple of problems with section attributes:Chris Lattner
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 :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Add armv7 support.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78092 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-16Hook in s390x stuff into clangAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76099 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-16codegen string literals using private linkage now like llvm-gcc, eliminatingChris Lattner
some target hooks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75895 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-13add netbsd support, patch by Krister Kalfridsson!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75492 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-08Correct FreeBSD target info, fixing PR4514.Duncan Sands
Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75003 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07pic16 preproc defs.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-05More tweaks to types for OpenBSD. Patch by Jonathan Gray.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-05Per PR4506, fix the type of size_t on OpenBSD.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-03Add an intermediate typedef for __builtin_va_tag to make it a bit easier Eli Friedman
to deal with for AST pretty-printing/rewriting. Patch by Abramo Bagnara. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74752 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-01Two fixes to make Clang build on Visual C++ (again), from Alisdair Meredith.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74606 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-01Fix for PR4192: fix the definition of int64_t on x86_64 Linux.Eli Friedman
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; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30Reapply r74532, and inherit from OSTargetInfo instead of from Target.Torok Edwin
'make test' passes now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74539 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30Revert 74532 till I figure out why it breaks a bunch of tests.Torok Edwin
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74536 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30Use templates instead of creating a new class for each OS/Target combination.Torok Edwin
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74532 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29Use true/false instead of 1/0.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74479 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29Don't define __KPRINTF_ATTRIBUTE__ unconditionally on OpenBSD.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29OpenBSD support.Daniel Dunbar
- Patch by Jonathan Gray! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74453 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-28Make the StackProtector bitfield use enums instead of obscure numbers.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74414 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-28Add stack protector support to clang. This generates the 'ssp' and 'sspreq'Bill Wendling
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74405 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24fix the type of wchar_t for windows, PR4417Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23__APPLE_CC__ should only be set when building for darwin targets.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-14move the various builtins stuff from libast to libbasic. ThisChris Lattner
fixes a layering violation in lib/Basic/Targets.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73318 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08Add stack alignment to x86_64 target data.Daniel Dunbar
- <rdar://problem/6948443> WARNING: Linking two modules of different data layouts! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73093 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08Minor tweaks to the Windows target.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08PR4346: add "R" asm register constraint.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08Misc minor fixes for clang for the Windows target.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73050 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Move CharIsSigned from TargetInfo to LangOptions.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72928 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Move a couple Darwin-specific defines into getDarwinDefines.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72900 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03Back out r72764; I should have looked more carefully before committing Eli Friedman
this. The correct replacement for "Y" and "Yt" is "x". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03PR3678: Add support for "Yt" asm register constraint.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72764 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-02Add floating point details to PIC16 Target.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72713 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29Add a couple missing ARM defines.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-22A few more tweaks for Solaris; please correct me if it's wrong somehow.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72240 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-21Improve target support for Solaris.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72237 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-16Targets without long long should reduce the size of intmax_t Eli Friedman
accordingly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71966 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Provide dummy va_list typedef for msp430Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-06Handle -march for the LLVM recognized cpu names.Daniel Dunbar
- x86 target feature handling should not be feature complete, even if the code quality is lacking. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71123 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-06More x86 target feature support.Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71117 91177308-0d34-0410-b5e6-96231b3b80d8