Chris Lattner
ad3467ee89
The -fshort-wchar option causes wchar_t to become unsigned, in addition to being
...
16-bits in size. Implement this by splitting WChar into two enums, like we have
for char. This fixes a miscompmilation of XULRunner, PR8856.
llvm-svn: 122558
2010-12-25 23:25:43 +00:00
Nick Lewycky
2e998b7a6e
Add missing standard includes. Patch by Joerg Sonnenberger!
...
llvm-svn: 122194
2010-12-19 20:49:25 +00:00
Anders Carlsson
2d5f8b4201
When setting a tied check if it's already tied. If it's tied to another constraint it's invalid. Fixes PR3905.
...
llvm-svn: 118146
2010-11-03 02:54:51 +00:00
Anders Carlsson
da1f5fc881
A number in an input constraint can't point to a read-write ('+') constraint. Fixes PR3904.
...
llvm-svn: 118145
2010-11-03 02:22:29 +00:00
Michael J. Spencer
feb799c14b
Fix Whitespace.
...
llvm-svn: 116699
2010-10-18 07:10:59 +00:00
John Thompson
c467aa2fa4
Fixed pr20314-2.c failure, added E, F, p constraint letters.
...
llvm-svn: 114490
2010-09-21 22:04:54 +00:00
John Thompson
1224061281
Added '|' delimiter to separate inline asm multiple alternative constraints for Clang side of support.
...
llvm-svn: 114253
2010-09-18 01:15:13 +00:00
Dale Johannesen
8499f47ef4
Allow 'o' and 'V' as constraints for output asm operands.
...
Allow '<' and '>' as constraints for input or output.
llvm-svn: 113246
2010-09-07 18:40:41 +00:00
John McCall
86353416a7
The ARM C++ ABI is sufficiently different from the Itanium C++ ABI that
...
it deserves its own enumerator. Obviously the implementations should
closely follow the Itanium ABI except in cases of divergence.
llvm-svn: 111749
2010-08-21 22:46:04 +00:00
Eli Friedman
854f110834
Fix oversight with symbolic names in TargetInfo::validateInputConstraint.
...
llvm-svn: 110870
2010-08-11 23:03:37 +00:00
John Thompson
46667afccd
Fix for pr7869, inline asm mult-alt constraints.
...
llvm-svn: 110764
2010-08-11 00:58:20 +00:00
John Thompson
a5c7d706b8
Slightly revised handling of mult-alt constraints, to avoid an assert, until we have the full fix.
...
llvm-svn: 110706
2010-08-10 19:20:14 +00:00
Daniel Dunbar
6f2e839693
CodeGen/ObjC/NeXT: Fix Obj-C message send to match llvm-gcc when choosing
...
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
llvm-svn: 108379
2010-07-14 23:39:36 +00:00
John Thompson
c438947242
Hack for dealing with commas until we support multiple alternative constraints, per pr7338.
...
llvm-svn: 108028
2010-07-09 22:49:34 +00:00
Rafael Espindola
e971b9a260
Correctly align large arrays in x86-64. This fixes PR5599.
...
llvm-svn: 105500
2010-06-04 23:15:27 +00:00
Daniel Dunbar
bd60652ace
Sema: Reject '#pragma options align=mac68k' everywhere except i386-apple-darwin.
...
llvm-svn: 104789
2010-05-27 00:35:16 +00:00
Chris Lattner
1a8f394a1f
david conrad points out that {|} in inline assembly on arm are not asm
...
variants. This fixes neon inline asm which my patch for PR6780 broke.
llvm-svn: 102181
2010-04-23 16:29:58 +00:00
Daniel Dunbar
9302f60606
clang -cc1: Add a -fno-bitfield-type-align option, for my own testing purposes.
...
llvm-svn: 101370
2010-04-15 15:06:22 +00:00
Daniel Dunbar
1da6511b99
Tweak spelling (Bitfield -> BitField)
...
llvm-svn: 101369
2010-04-15 15:06:18 +00:00
Daniel Dunbar
3d9289c736
Add TargetInfo::useBitfieldTypeAlignment().
...
- 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).
llvm-svn: 101356
2010-04-15 06:18:39 +00:00
Anders Carlsson
c7c5baa482
Yay for more StringRefs.
...
llvm-svn: 94917
2010-01-30 19:12:25 +00:00
Nuno Lopes
2af2af219f
fix PR5689: add support for 'o' and 'V' asm input operands
...
llvm-svn: 91540
2009-12-16 14:28:21 +00:00
Edward O'Callaghan
847f2a10ee
Add SigAtomicType to TargetInfo, Needed for MSP and PIC Targets, Credit to Ken Dyck.
...
llvm-svn: 89520
2009-11-21 00:49:54 +00:00
Chris Lattner
0fb5bbd401
do not store wchar/char16/char32/intmax width/alignment info
...
into TargetInfo, just derive this based on the underlying type.
This prevents them from getting out of synch, patch by Ken Dyck!
llvm-svn: 86976
2009-11-12 08:04:33 +00:00
Chris Lattner
5c67237ff6
teach the various targets what native integer types they have.
...
llvm-svn: 86395
2009-11-07 18:59:41 +00:00
John Thompson
864bf7562f
Eliminate tabls
...
llvm-svn: 86183
2009-11-05 22:03:02 +00:00
Chris Lattner
e4a8c64731
clean up integer preprocessor type definitions, patch by Ken Dyck!
...
llvm-svn: 86177
2009-11-05 21:21:32 +00:00
John Thompson
ed4e2950bc
Adding -fshort-wchar option.
...
llvm-svn: 86167
2009-11-05 20:14:16 +00:00
Chris Lattner
c0c043903b
rename getTypeSigned() -> isTypeSigned() per daniel's review.
...
llvm-svn: 85076
2009-10-25 22:49:18 +00:00
Chris Lattner
72cdcacb02
add helpful methods to TargetInfo for querying builtin integer type properties,
...
patch by Ken Dyck!
llvm-svn: 84746
2009-10-21 06:24:21 +00:00
Chris Lattner
6720492c39
hookize wint_t's definition, patch by Edward O'Callaghan (from PR5233).
...
llvm-svn: 84740
2009-10-21 04:59:34 +00:00
Chris Lattner
f315471e24
fix PR4938 by recognizing % as a modifier on outputs,
...
previously we only recognized it on inputs.
llvm-svn: 83939
2009-10-13 04:32:07 +00:00
Mike Stump
11289f4280
Remove tabs, and whitespace cleanups.
...
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Alisdair Meredith
a9ad47d94c
Basic support for C++0x unicode types. Support for literals will follow in an incremental patch
...
llvm-svn: 75622
2009-07-14 06:30:34 +00:00
Eli Friedman
2857ccbaa7
Fix for PR4192: fix the definition of int64_t on x86_64 Linux.
...
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
2009-07-01 03:36:11 +00:00
Eli Friedman
9ffd4a9b96
Move CharIsSigned from TargetInfo to LangOptions.
...
llvm-svn: 72928
2009-06-05 07:05:05 +00:00
Chris Lattner
dbcc5ca57f
Fix rdar://6860124 - invalid input constraint 'J' in asm
...
This recognizes all the target-independent constant constraints
that have target-specific meanings.
llvm-svn: 71064
2009-05-06 04:33:31 +00:00
Chris Lattner
4c92b51089
in a tied operand, don't copy over the name or constraint string, just the flags.
...
llvm-svn: 70137
2009-04-26 18:05:25 +00:00
Chris Lattner
c16d476b30
pull operands names "[foo]" into ConstraintInfo.
...
llvm-svn: 70136
2009-04-26 17:57:12 +00:00
Chris Lattner
c3f4c7b1c5
pull the constraint string into the ConstraintInfo struct
...
instead of passing it around in addition to it.
llvm-svn: 70135
2009-04-26 17:19:08 +00:00
Chris Lattner
d9725f7041
change TargetInfo::ConstraintInfo to be a struct that contains
...
the enum along with some other data.
llvm-svn: 70114
2009-04-26 07:16:29 +00:00
Eli Friedman
d88c8a104f
Add target property for whether thread-local storage is supported.
...
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
2009-04-19 21:38:35 +00:00
Anders Carlsson
5843635b37
TargetInfo::validateAsmConstraint now takes a reference to the full constraints string. This will make it possible to support multi-character constraints. No functionality change (for now).
...
llvm-svn: 65696
2009-02-28 17:11:49 +00:00
Chris Lattner
7e4c81c8c6
Give TargetInfo a new IntPtrType to hold the intptr_t type for
...
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
2009-02-13 22:28:55 +00:00
Chris Lattner
a91c30fdb0
simplify and refactor a bunch of type definition code in Preprocessor
...
predefines buffer initialization.
llvm-svn: 63919
2009-02-06 05:04:11 +00:00
Anders Carlsson
570c357ded
If an input constraint refers to an output constraint, it should have the same constraint info as the output constraint. Fixes PR3417
...
llvm-svn: 63127
2009-01-27 20:38:24 +00:00
Anders Carlsson
e70cde134e
Handle the 'X' constraint. Fixes <rdar://problem/6504897>.
...
llvm-svn: 62446
2009-01-18 02:12:04 +00:00
Anders Carlsson
a79203be85
Add sema support for symbolic names in inline asm statements.
...
llvm-svn: 62441
2009-01-18 01:56:57 +00:00
Nate Begeman
a45707c06a
Allow targets to override IntMaxTWidth
...
llvm-svn: 62434
2009-01-17 23:56:13 +00:00
Anders Carlsson
19aa04d270
Change TargetInfo::validateInputConstraint to take begin/end name iterators instead of the number of outputs. No functionality change.
...
llvm-svn: 62433
2009-01-17 23:36:15 +00:00