summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* When mangling function template specialization, mangle the type encoding of ↵Anders Carlsson2009-09-171-5/+9
| | | | | | the original function template. Also, port mangle.cpp and function-template-specialization.cpp over to using FileCheck. llvm-svn: 82114
* Add new functions to the mangler for the <unscoped-name> and ↵Anders Carlsson2009-09-171-8/+25
| | | | | | <unscoped-template-name> productions. llvm-svn: 82113
* Add basic substitution to the C++ mangler. It currently only looks at types.Anders Carlsson2009-09-171-8/+72
| | | | llvm-svn: 82102
* patch for generating objc'2 objc_assign_ivar. WIP.Fariborz Jahanian2009-09-162-15/+9
| | | | llvm-svn: 82090
* Starting patch to generate more specific API for objc'sFariborz Jahanian2009-09-161-2/+37
| | | | | | | | GC. Currently, new API will be generated under clang-cc's -fobjc-newgc-api flag which will eventually become the default. WIP. llvm-svn: 82082
* Removed a superfluous check before settingFariborz Jahanian2009-09-161-2/+1
| | | | | | a flag (objc GC). llvm-svn: 82052
* x86-64 ABI: If a type is a C++ record with either a non-trivial destructor ↵Anders Carlsson2009-09-163-8/+45
| | | | | | or a non-trivial copy constructor, it should be passed in a pointer. Daniel, plz review. llvm-svn: 82050
* Be sure to use the correct version instead of inventing the wrong one.Mike Stump2009-09-151-1/+2
| | | | llvm-svn: 81924
* Code generation of Conditional operators that are lvalues (but that aren't ↵Anders Carlsson2009-09-152-6/+39
| | | | | | bitfields). llvm-svn: 81867
* Handle reinterpret_cast between integral types and pointer types.Anders Carlsson2009-09-151-0/+16
| | | | llvm-svn: 81837
* Codegen support for nullptr from C++0x.Anders Carlsson2009-09-152-0/+10
| | | | llvm-svn: 81835
* ARM/[A]APCS: Ignore empty records passed as arguments.Daniel Dunbar2009-09-141-0/+4
| | | | llvm-svn: 81798
* Small fix to stop CGObjCGNU emitting symbols that break some versions of gas.David Chisnall2009-09-141-1/+1
| | | | llvm-svn: 81778
* Remove an unnecessary FunctionDecl parameter to the synthesizing functions.Anders Carlsson2009-09-143-42/+42
| | | | llvm-svn: 81759
* Fix subtle bug in generating LLVM function declarations for builtin functions.Daniel Dunbar2009-09-143-5/+6
| | | | | | | | | | The decl wasn't being passed down, which meant that function attributes were not being set correctly. This is particularly important for ARM, since it wants to override the calling convention. Instead we would emit the builtin with the wrong calling convention, and instcombine would come along and merrily shred all the calls to it. :) llvm-svn: 81756
* ARM/APCS: Don't treat structs w/ floating point types as "integer like".Daniel Dunbar2009-09-141-0/+4
| | | | llvm-svn: 81748
* If a function call returns a reference, don't bind it to a temporary.Anders Carlsson2009-09-141-1/+7
| | | | llvm-svn: 81743
* Implement CodeGenFunction::EmitCXXExprWithTemporariesLValue.Anders Carlsson2009-09-143-1/+29
| | | | llvm-svn: 81738
* Some minor clang/ARM/AAPCS tweaks.Daniel Dunbar2009-09-141-1/+11
| | | | llvm-svn: 81737
* Add TargetInfo::getABI(), and base ARM APCS vs AAPCS choice on that.Daniel Dunbar2009-09-141-4/+1
| | | | llvm-svn: 81735
* Handle delete where the class has a virtual destructor.Anders Carlsson2009-09-141-5/+8
| | | | llvm-svn: 81733
* Fix another byref bug. This should hopefully get QuickLookPlugins building ↵Anders Carlsson2009-09-131-10/+10
| | | | | | successfully. llvm-svn: 81681
* ARM/APCS: Only "integer like" aggregates should be returned in r0 (followingDaniel Dunbar2009-09-131-21/+128
| | | | | | gcc's interpretation of APCS' somewhat loose specification). llvm-svn: 81671
* Rework the way we determine whether an externally visible symbol isDouglas Gregor2009-09-131-25/+10
| | | | | | | | 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
* Don't use the PredefinedExpr string as the global variable name, these don'tDaniel Dunbar2009-09-121-1/+5
| | | | | | make very nice symbols, just use the function name. llvm-svn: 81653
* whitespace fixChris Lattner2009-09-121-1/+1
| | | | llvm-svn: 81644
* Update CMake files.Benjamin Kramer2009-09-121-0/+1
| | | | llvm-svn: 81631
* Add FIXME for alignments that won't be honored.Mike Stump2009-09-121-0/+2
| | | | llvm-svn: 81620
* We can't have ctors in the vtable (right Doug?) :-)Mike Stump2009-09-121-4/+0
| | | | llvm-svn: 81619
* Handle CK_DerivedToBase when emitting lvalue casts.Anders Carlsson2009-09-121-21/+42
| | | | llvm-svn: 81614
* When necessary, null check the base value in GetAddressCXXOfBaseClass.Anders Carlsson2009-09-122-1/+39
| | | | llvm-svn: 81611
* Handle derived-to-base conversion in CGExprScalar::EmitCast, if the cast ↵Anders Carlsson2009-09-121-10/+18
| | | | | | kind is CK_DerivedToBase. llvm-svn: 81610
* Whoops, add CGCXXClass.cppAnders Carlsson2009-09-121-0/+104
| | | | llvm-svn: 81607
* Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a ↵Anders Carlsson2009-09-123-17/+28
| | | | | | NullCheckValue argument (currently unused). llvm-svn: 81606
* Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there.Anders Carlsson2009-09-121-67/+0
| | | | llvm-svn: 81604
* Add support for __block variables with alignment greater than __alignof(void *).Anders Carlsson2009-09-123-31/+59
| | | | llvm-svn: 81602
* For __block variables, cache the LLVM types as well as which LLVM field ↵Anders Carlsson2009-09-123-14/+42
| | | | | | where the variable is stored. llvm-svn: 81599
* Stub out room for ARM APCS ABI implementation (and AAPCS_VFP, although you can'tDaniel Dunbar2009-09-121-2/+39
| | | | | | hit this via command line options yet). llvm-svn: 81595
* Formatting fixes.Daniel Dunbar2009-09-121-27/+39
| | | | llvm-svn: 81594
* Change CodeGenModule::ConstructTypeAttributes to return the calling conventionDaniel Dunbar2009-09-124-16/+42
| | | | | | to use, and allow the ABI implementation to override the calling convention. llvm-svn: 81593
* Remove unnecessary ASTContext parameter from FunctionDecl::isBuiltinIDDouglas Gregor2009-09-121-1/+1
| | | | llvm-svn: 81590
* Remove unnecessary ASTContext parameters from isMain and isExternCDouglas Gregor2009-09-122-2/+2
| | | | llvm-svn: 81589
* Fix a crash when generating vtables that contain destructors.Anders Carlsson2009-09-121-5/+4
| | | | llvm-svn: 81587
* Add basic covariant thunk generation support. WIP.Mike Stump2009-09-114-8/+106
| | | | llvm-svn: 81585
* Set the calling convention based on the CGFunctionInfo.Daniel Dunbar2009-09-113-10/+14
| | | | llvm-svn: 81582
* Add CallingConvention argument to CGFunctionInfo.Daniel Dunbar2009-09-113-25/+74
| | | | | | - Currently unused. llvm-svn: 81581
* Fix use of uninitialized, David please check.Daniel Dunbar2009-09-111-1/+1
| | | | llvm-svn: 81570
* Fixes a regression in objc GC layout bitmap involvingFariborz Jahanian2009-09-111-1/+1
| | | | | | block pointer ivars. llvm-svn: 81535
* Swizzle the target triple based on -mthumb, and update clang-cc to recognizeDaniel Dunbar2009-09-111-0/+1
| | | | | | thumb-foo-bar as an ARM target. llvm-svn: 81497
* Pass the GlobalDecl to getMangledName, fixes PR4890.Anders Carlsson2009-09-111-2/+2
| | | | llvm-svn: 81486
OpenPOWER on IntegriCloud