1990 Commits

Author SHA1 Message Date
Daniel Dunbar
d53bac7fa4 ARM/APCS: Don't treat structs w/ floating point types as "integer like".
llvm-svn: 81748
2009-09-14 02:20:34 +00:00
Anders Carlsson
aedb46fe21 If a function call returns a reference, don't bind it to a temporary.
llvm-svn: 81743
2009-09-14 01:30:44 +00:00
Anders Carlsson
96bad9a5cd Implement CodeGenFunction::EmitCXXExprWithTemporariesLValue.
llvm-svn: 81738
2009-09-14 01:10:45 +00:00
Daniel Dunbar
1ce7251a0a Some minor clang/ARM/AAPCS tweaks.
llvm-svn: 81737
2009-09-14 00:56:55 +00:00
Daniel Dunbar
b4091a9c6a Add TargetInfo::getABI(), and base ARM APCS vs AAPCS choice on that.
llvm-svn: 81735
2009-09-14 00:35:03 +00:00
Anders Carlsson
8783737029 Handle delete where the class has a virtual destructor.
llvm-svn: 81733
2009-09-14 00:16:25 +00:00
Anders Carlsson
ccbabc9645 Fix another byref bug. This should hopefully get QuickLookPlugins building successfully.
llvm-svn: 81681
2009-09-13 17:55:13 +00:00
Daniel Dunbar
626f1d8c3a ARM/APCS: Only "integer like" aggregates should be returned in r0 (following
gcc's interpretation of APCS' somewhat loose specification).

llvm-svn: 81671
2009-09-13 08:03:58 +00:00
Douglas Gregor
299d76e901 Rework the way we determine whether an externally visible symbol is
generated for an inline function definition, taking into account C99
and GNU inline/extern inline semantics. This solution is simpler,
cleaner, and fixes PR4536.

llvm-svn: 81670
2009-09-13 07:46:26 +00:00
Daniel Dunbar
0482cfd790 Don't use the PredefinedExpr string as the global variable name, these don't
make very nice symbols, just use the function name.

llvm-svn: 81653
2009-09-12 23:06:21 +00:00
Chris Lattner
ee7bd3b204 whitespace fix
llvm-svn: 81644
2009-09-12 22:45:21 +00:00
Benjamin Kramer
2864584b14 Update CMake files.
llvm-svn: 81631
2009-09-12 21:18:26 +00:00
Mike Stump
6768683933 Add FIXME for alignments that won't be honored.
llvm-svn: 81620
2009-09-12 18:58:28 +00:00
Mike Stump
d76611fac0 We can't have ctors in the vtable (right Doug?) :-)
llvm-svn: 81619
2009-09-12 18:57:58 +00:00
Anders Carlsson
d95f9608ab Handle CK_DerivedToBase when emitting lvalue casts.
llvm-svn: 81614
2009-09-12 16:16:49 +00:00
Anders Carlsson
360e7d0a8f When necessary, null check the base value in GetAddressCXXOfBaseClass.
llvm-svn: 81611
2009-09-12 06:04:24 +00:00
Anders Carlsson
12f5a25f15 Handle derived-to-base conversion in CGExprScalar::EmitCast, if the cast kind is CK_DerivedToBase.
llvm-svn: 81610
2009-09-12 04:57:16 +00:00
Anders Carlsson
9a57c5ac6f Whoops, add CGCXXClass.cpp
llvm-svn: 81607
2009-09-12 04:27:24 +00:00
Anders Carlsson
864d525533 Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a NullCheckValue argument (currently unused).
llvm-svn: 81606
2009-09-12 04:26:35 +00:00
Anders Carlsson
307408d2af Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there.
llvm-svn: 81604
2009-09-12 03:29:09 +00:00
Anders Carlsson
f8e94f2008 Add support for __block variables with alignment greater than __alignof(void *).
llvm-svn: 81602
2009-09-12 02:44:18 +00:00
Anders Carlsson
0168f4b202 For __block variables, cache the LLVM types as well as which LLVM field where the variable is stored.
llvm-svn: 81599
2009-09-12 02:14:24 +00:00
Daniel Dunbar
020daa9476 Stub out room for ARM APCS ABI implementation (and AAPCS_VFP, although you can't
hit this via command line options yet).

llvm-svn: 81595
2009-09-12 01:00:39 +00:00
Daniel Dunbar
d59655c992 Formatting fixes.
llvm-svn: 81594
2009-09-12 00:59:49 +00:00
Daniel Dunbar
0ef3479cb7 Change CodeGenModule::ConstructTypeAttributes to return the calling convention
to use, and allow the ABI implementation to override the calling convention.

llvm-svn: 81593
2009-09-12 00:59:20 +00:00
Douglas Gregor
15fc956ca0 Remove unnecessary ASTContext parameter from FunctionDecl::isBuiltinID
llvm-svn: 81590
2009-09-12 00:22:50 +00:00
Douglas Gregor
16618f2157 Remove unnecessary ASTContext parameters from isMain and isExternC
llvm-svn: 81589
2009-09-12 00:17:51 +00:00
Anders Carlsson
97c7eda14a Fix a crash when generating vtables that contain destructors.
llvm-svn: 81587
2009-09-12 00:00:29 +00:00
Mike Stump
80f6ac5a4f Add basic covariant thunk generation support. WIP.
llvm-svn: 81585
2009-09-11 23:25:56 +00:00
Daniel Dunbar
bbaeca4fef Set the calling convention based on the CGFunctionInfo.
llvm-svn: 81582
2009-09-11 22:25:00 +00:00
Daniel Dunbar
7feafc70d9 Add CallingConvention argument to CGFunctionInfo.
- Currently unused.

llvm-svn: 81581
2009-09-11 22:24:53 +00:00
Daniel Dunbar
c0f8eef710 Fix use of uninitialized, David please check.
llvm-svn: 81570
2009-09-11 20:56:53 +00:00
Fariborz Jahanian
10e9bffde3 Fixes a regression in objc GC layout bitmap involving
block pointer ivars.

llvm-svn: 81535
2009-09-11 17:39:05 +00:00
Daniel Dunbar
33a004e9eb Swizzle the target triple based on -mthumb, and update clang-cc to recognize
thumb-foo-bar as an ARM target.

llvm-svn: 81497
2009-09-11 01:14:50 +00:00
Anders Carlsson
fd384d8065 Pass the GlobalDecl to getMangledName, fixes PR4890.
llvm-svn: 81486
2009-09-11 00:11:35 +00:00
Anders Carlsson
73fcc95f0f Pass GlobalDecls to GenerateCode and StartFunction.
llvm-svn: 81485
2009-09-11 00:07:24 +00:00
Anders Carlsson
ecf9bf0158 GlobalDecl doesn't have an explicit constructor anymore.
llvm-svn: 81481
2009-09-10 23:43:36 +00:00
Anders Carlsson
38988d7ee0 Add stricter GlobalDecl constructors.
llvm-svn: 81480
2009-09-10 23:38:47 +00:00
Fariborz Jahanian
2cde203392 Non fragile ABI for GNU runtime. Patch bu David Chisnall.
llvm-svn: 81462
2009-09-10 21:48:21 +00:00
Fariborz Jahanian
d1f1ff3978 Get the size of object to pass to objc_memmove_collectable()
from correct field of TypeInfo.

llvm-svn: 81446
2009-09-10 16:20:31 +00:00
Anders Carlsson
10f2c10b83 Make the forwarding member of block byref structs be a pointer to the block byref struct itself.
llvm-svn: 81423
2009-09-10 01:32:12 +00:00
Anders Carlsson
1ca52689e7 Use the right GlobalDecl type for destructors.
llvm-svn: 81398
2009-09-09 23:17:18 +00:00
Daniel Dunbar
277aa36d68 Suppress build warning.
llvm-svn: 81384
2009-09-09 22:32:15 +00:00
Anders Carlsson
e9766d559b If a cast expression needs either a conversion function or a constructor to be called, generate implicit child expressions that call them.
llvm-svn: 81383
2009-09-09 21:33:21 +00:00
Mike Stump
11289f4280 Remove tabs, and whitespace cleanups.
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Mike Stump
4a3999fe90 Reflow comments and some minor whitespace fixups.
llvm-svn: 81337
2009-09-09 13:00:44 +00:00
Anders Carlsson
71d1d92d37 Make BuildByRefType take a ValueDecl instead of a QualType and an alignment.
llvm-svn: 81315
2009-09-09 02:51:03 +00:00
Anders Carlsson
2fb0824197 Vastly improve PredefinedExpr output, both in Sema and CodeGen. Patch by Sam Weinig!
llvm-svn: 81237
2009-09-08 18:24:21 +00:00
Benjamin Kramer
b178ab2155 Remove unnecessary #include <sstream>.
llvm-svn: 81147
2009-09-07 11:12:05 +00:00
Mike Stump
e73d5ca9a8 Refine vcall offsets. Cleanups. WIP.
llvm-svn: 81143
2009-09-07 04:27:52 +00:00