summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Simplify, and fix a possible crash (never happens however, because we don't everDaniel Dunbar2009-06-261-10/+7
| | | | | | take this path with non-builtin floating point types). llvm-svn: 74303
* Add a DecltypeType type.Anders Carlsson2009-06-241-0/+3
| | | | llvm-svn: 74099
* Patch fixes an obscure bug when 'used' attribute is applied toFariborz Jahanian2009-06-234-36/+29
| | | | | | | | | variables in ObjC's Next runtime mode. Next runtime also implicitly applies 'used' attribute on some of its meta-data. This results in two 'llvm.used' arrays to be generated, and one of them is renamed to 'llvm.used1'. llvm-svn: 74008
* fix PR4423.Chris Lattner2009-06-231-1/+2
| | | | llvm-svn: 73938
* Parsing and AST support for using declarations, from John Thompson!Douglas Gregor2009-06-201-0/+3
| | | | llvm-svn: 73812
* Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>.Douglas Gregor2009-06-189-54/+62
| | | | llvm-svn: 73702
* Move CXXMethodDecl::OutOfLineDefinition into Decl::OutOfLine.Argyrios Kyrtzidis2009-06-171-1/+1
| | | | llvm-svn: 73651
* First step toward fixing <rdar://problem/6613046> refactor clang objc type ↵Steve Naroff2009-06-172-2/+2
| | | | | | | | | | | | representation. Add a type (ObjCObjectPointerType) and remove a type (ObjCQualifiedIdType). This large/tedious patch is just a first step. Next step is to remove ObjCQualifiedInterfaceType. After that, I will remove the magic TypedefType for 'id' (installed by Sema). This work will enable various simplifications throughout clang (when dealing with ObjC types). No functionality change. llvm-svn: 73649
* Update clang for the add ->add/fadd split. Likewise for sub and mul.Chris Lattner2009-06-172-36/+105
| | | | llvm-svn: 73604
* It is possible that main input file does not have any symbol with debug ↵Devang Patel2009-06-162-21/+43
| | | | | | | | info. To handle this edge case, always create main compile unit first. This fixes PR 4228. llvm-svn: 73520
* Handle temporaries in default arguments.Anders Carlsson2009-06-161-0/+5
| | | | llvm-svn: 73462
* "GCC emits an __objc_class_name_{classname} symbol for every class, and a ↵Chris Lattner2009-06-151-4/+29
| | | | | | | | corresponding reference to this symbol for every compilation unit that references the class. This causes linker errors when you try linking a program which references some classes but doesn't define them. The attached patch implements this support in clang, so you can compile a class with clang, reference it in a file compiled with GCC, and have it all work correctly." Patch by David Chisnall! llvm-svn: 73364
* PR4390: Make sure to handle anonymous unions correctly while building Eli Friedman2009-06-141-5/+2
| | | | | | static intializers for structs. llvm-svn: 73349
* Sink the BuiltinInfo object from ASTContext into theChris Lattner2009-06-142-0/+2
| | | | | | | | preprocessor and initialize it early in clang-cc. This ensures that __has_builtin works in all modes, not just when ASTContext is around. llvm-svn: 73319
* move the various builtins stuff from libast to libbasic. ThisChris Lattner2009-06-141-1/+1
| | | | | | fixes a layering violation in lib/Basic/Targets.cpp. llvm-svn: 73318
* move GetBuiltinType from Builtin::Context to ASTContext.Chris Lattner2009-06-141-3/+3
| | | | llvm-svn: 73316
* Simplify mangleFunctionDecl by unnesting a crazy condition. This fixesChris Lattner2009-06-131-13/+14
| | | | | | | the check for extern "c" system headers, which should prevent functiondecls from being mangled. llvm-svn: 73311
* Fix the calling convention for structs/unions containing SSE vectors on Eli Friedman2009-06-131-4/+34
| | | | | | x86-32. This is slightly messy, but I think it's consistent with gcc. llvm-svn: 73306
* Fix PR4372, another case where non-prototyped functions can prevent Chris Lattner2009-06-132-6/+37
| | | | | | always_inline from working. llvm-svn: 73273
* Don't assert when generating code with static_asserts.Anders Carlsson2009-06-111-1/+5
| | | | llvm-svn: 73208
* Support complex properties, ivars and message expressions.Daniel Dunbar2009-06-102-6/+44
| | | | llvm-svn: 73158
* Remove a few more vector builtins.Eli Friedman2009-06-071-23/+0
| | | | llvm-svn: 73022
* Now that LLVM CodeGen can handle the generic variations a bit better, Eli Friedman2009-06-071-22/+0
| | | | | | get rid of a few more clang vector builtins. llvm-svn: 73015
* PR4339: make sure to properly extend/trunc the index of a vector element Eli Friedman2009-06-061-4/+4
| | | | | | | insert/extract; the relevant instructions are defined to take only an i32. llvm-svn: 73005
* Add new ABIArgInfo kind: Extend. This allows target to implement its own ↵Anton Korobeynikov2009-06-063-29/+52
| | | | | | | | | argument zero/sign extension logic (consider, e.g. target has only 64 bit registers and thus i32's should be extended as well). llvm-svn: 72998
* Get rid of a bunch of dead builtins.Eli Friedman2009-06-061-199/+0
| | | | llvm-svn: 72996
* As an optimization, we maintain a cache of generatedMike Stump2009-06-053-15/+55
| | | | | | | | | | ___Block_byref_id_object_dispose and ___Block_byref_id_object_copy functions so that we can simply reuse instead of creating a new one. Additionally, add an assert to ensure no one yet tries to align a __block variable beyond the alignment of a pointer as the codegen is incomplete. llvm-svn: 72974
* weak_import should not make definitions have weak linkage.Daniel Dunbar2009-06-051-2/+2
| | | | | | - <rdar://problem/6948703> clang treats weak_import like weak llvm-svn: 72967
* Update cmake scriptAnton Korobeynikov2009-06-051-0/+1
| | | | llvm-svn: 72963
* Factor out TargetABIInfo stuff into separate file. No functionality change.Anton Korobeynikov2009-06-053-1382/+1398
| | | | llvm-svn: 72962
* Set function Attribute::NoImplicitFloat appropriately.Devang Patel2009-06-051-0/+2
| | | | llvm-svn: 72961
* ABI handling: Fix nasty thinko where IRgen could generate an out-of-bounds readDaniel Dunbar2009-06-051-7/+8
| | | | | | | | | | when generating a coercion for ABI handling purposes. - This may only manifest itself when building at -O0, but the practical effect is that other arguments may get clobbered. - <rdar://problem/6930451> [irgen] ABI coercion clobbers other arguments llvm-svn: 72932
* Fix -Asserts build warnings.Daniel Dunbar2009-06-051-3/+3
| | | | llvm-svn: 72910
* Set function attribute llvm::Attribute::NoRedZone appropriately.Devang Patel2009-06-041-0/+4
| | | | llvm-svn: 72902
* Make ReplaceUsesOfNonProtoTypeWithRealFunction verify that a call is *to* theChris Lattner2009-06-041-1/+2
| | | | | | function of interest, not an operand of it. llvm-svn: 72869
* Use PushConditionalTempDestruction/PopConditionalTempDestruction for the ↵Anders Carlsson2009-06-042-1/+9
| | | | | | ternary operator. llvm-svn: 72842
* Use conditional temp destruction for || and &&.Anders Carlsson2009-06-041-0/+6
| | | | llvm-svn: 72838
* Make PushCXXTemporary and PopCXXTemporary handle conditional temporaries.Anders Carlsson2009-06-041-13/+57
| | | | llvm-svn: 72837
* Add PushConditionalTempDestruction/PopConditionalTempDestruction.Anders Carlsson2009-06-042-0/+30
| | | | llvm-svn: 72835
* Make sure to push a cleanup block.Anders Carlsson2009-06-041-0/+2
| | | | llvm-svn: 72831
* Cleanup/Refactoring of ivar collection. No change in functionality.Fariborz Jahanian2009-06-042-44/+10
| | | | llvm-svn: 72827
* Fix cmake builds.Mike Stump2009-06-031-0/+1
| | | | llvm-svn: 72814
* PR4316: Fix IRGen for cast-to-union extension.Eli Friedman2009-06-031-6/+6
| | | | llvm-svn: 72803
* More temporary work.Anders Carlsson2009-06-032-10/+25
| | | | llvm-svn: 72796
* Store more information about live temporaries. No functionality change for now.Anders Carlsson2009-06-032-3/+26
| | | | llvm-svn: 72793
* Move code generation of C++ temporaries into a new file.Anders Carlsson2009-06-032-37/+53
| | | | llvm-svn: 72792
* Add support for __builtin_unwind_init.Eli Friedman2009-06-021-0/+30
| | | | | | | | Also, committing an #if 0'ed __builtin_setjmp and __builtin_longjmp implementation I've had sitting in my tree for a while. I haven't enabled it because the LLVM backend support isn't complete yet. llvm-svn: 72727
* If we recognize alloca, treat it as a builtin. This fixes uses of Eli Friedman2009-06-021-0/+1
| | | | | | alloca without declaring it. llvm-svn: 72719
* A corner case of objc2 gc's write-barrier generationFariborz Jahanian2009-06-011-2/+2
| | | | | | for the Next runtime. llvm-svn: 72703
* PR4289: Make sure "&func" has the right LLVM type when "func" is a Eli Friedman2009-06-011-2/+14
| | | | | | K&R-style definition. llvm-svn: 72690
OpenPOWER on IntegriCloud