aboutsummaryrefslogtreecommitdiff
path: root/lib/Basic/TargetInfo.cpp
AgeCommit message (Collapse)Author
2011-01-06PowerPC fixes.Roman Divacky
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122956 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-25The -fshort-wchar option causes wchar_t to become unsigned, in addition to beingChris Lattner
16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122558 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-19Add missing standard includes. Patch by Joerg Sonnenberger!Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122194 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03When setting a tied check if it's already tied. If it's tied to another ↵Anders Carlsson
constraint it's invalid. Fixes PR3905. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118146 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03A number in an input constraint can't point to a read-write ('+') ↵Anders Carlsson
constraint. Fixes PR3904. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118145 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-18Fix Whitespace.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116699 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-21Fixed pr20314-2.c failure, added E, F, p constraint letters.John Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114490 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-18Added '|' delimiter to separate inline asm multiple alternative constraints ↵John Thompson
for Clang side of support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114253 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07Allow 'o' and 'V' as constraints for output asm operands.Dale Johannesen
Allow '<' and '>' as constraints for input or output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113246 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-21The ARM C++ ABI is sufficiently different from the Itanium C++ ABI thatJohn McCall
it deserves its own enumerator. Obviously the implementations should closely follow the Itanium ABI except in cases of divergence. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111749 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11Fix oversight with symbolic names in TargetInfo::validateInputConstraint.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110870 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11Fix for pr7869, inline asm mult-alt constraints.John Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110764 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10Slightly revised handling of mult-alt constraints, to avoid an assert, until ↵John Thompson
we have the full fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110706 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-14CodeGen/ObjC/NeXT: Fix Obj-C message send to match llvm-gcc when choosingDaniel Dunbar
whether to use objc_msgSend_fpret; the choice is target dependent, not Obj-C ABI dependent. - <rdar://problem/8139758> arm objc _objc_msgSend_fpret bug git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108379 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-09Hack for dealing with commas until we support multiple alternative ↵John Thompson
constraints, per pr7338. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108028 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-04Correctly align large arrays in x86-64. This fixes PR5599.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105500 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-27Sema: Reject '#pragma options align=mac68k' everywhere except i386-apple-darwin.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104789 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-23david conrad points out that {|} in inline assembly on arm are not asmChris Lattner
variants. This fixes neon inline asm which my patch for PR6780 broke. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102181 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15clang -cc1: Add a -fno-bitfield-type-align option, for my own testing purposes.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101370 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15Tweak spelling (Bitfield -> BitField)Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101369 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15Add TargetInfo::useBitfieldTypeAlignment().Daniel Dunbar
- Used to determine whether the alignment of the type in a bit-field is respected when laying out structures. The default is true, targets can override this as needed. - This is designed to correspond to the PCC_BITFIELD_TYPE_MATTERS macro in gcc. The AST/Sema implementation only affects one line, unless I have forgotten something. I'd appreciate further review. - IRgen still needs to be updated to fully support this (which is effectively PR5591). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101356 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30Yay for more StringRefs.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94917 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16fix PR5689: add support for 'o' and 'V' asm input operandsNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91540 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Add SigAtomicType to TargetInfo, Needed for MSP and PIC Targets, Credit to ↵Edward O'Callaghan
Ken Dyck. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89520 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-12do not store wchar/char16/char32/intmax width/alignment infoChris Lattner
into TargetInfo, just derive this based on the underlying type. This prevents them from getting out of synch, patch by Ken Dyck! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86976 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-07teach the various targets what native integer types they have.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86395 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Eliminate tablsJohn Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86183 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05clean up integer preprocessor type definitions, patch by Ken Dyck!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Adding -fshort-wchar option.John Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-25rename getTypeSigned() -> isTypeSigned() per daniel's review.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85076 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21add helpful methods to TargetInfo for querying builtin integer type properties,Chris Lattner
patch by Ken Dyck! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84746 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21hookize wint_t's definition, patch by Edward O'Callaghan (from PR5233).Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84740 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13fix PR4938 by recognizing % as a modifier on outputs,Chris Lattner
previously we only recognized it on inputs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83939 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-07-14Basic support for C++0x unicode types. Support for literals will follow in ↵Alisdair Meredith
an incremental patch git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75622 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-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-05-06Fix rdar://6860124 - invalid input constraint 'J' in asmChris Lattner
This recognizes all the target-independent constant constraints that have target-specific meanings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71064 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26in a tied operand, don't copy over the name or constraint string, just the ↵Chris Lattner
flags. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70137 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26pull operands names "[foo]" into ConstraintInfo.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70136 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26pull the constraint string into the ConstraintInfo structChris Lattner
instead of passing it around in addition to it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70135 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26change TargetInfo::ConstraintInfo to be a struct that containsChris Lattner
the enum along with some other data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70114 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19Add target property for whether thread-local storage is supported. Eli Friedman
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69552 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28TargetInfo::validateAsmConstraint now takes a reference to the full ↵Anders Carlsson
constraints string. This will make it possible to support multi-character constraints. No functionality change (for now). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65696 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13Give TargetInfo a new IntPtrType to hold the intptr_t type forChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64495 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06simplify and refactor a bunch of type definition code in PreprocessorChris Lattner
predefines buffer initialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63919 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-27If an input constraint refers to an output constraint, it should have the ↵Anders Carlsson
same constraint info as the output constraint. Fixes PR3417 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63127 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-18Handle the 'X' constraint. Fixes <rdar://problem/6504897>.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-18Add sema support for symbolic names in inline asm statements.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62441 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17Allow targets to override IntMaxTWidthNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62434 91177308-0d34-0410-b5e6-96231b3b80d8