summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Tighter check in r116060 blcoked enums also. Emit enum const's debug info.Devang Patel2010-10-081-3/+3
| | | | llvm-svn: 116071
* Do not repeat debug info for file variable constants.Devang Patel2010-10-081-1/+5
| | | | | | This is tested by file-statics.exp in gdb testsuite. llvm-svn: 116060
* Identify functions with prototype appropriately in debug info. Devang Patel2010-10-071-1/+7
| | | | | | This is tested by callfuncs.exp in gdb testsuite. llvm-svn: 115989
* Mark FunctionNoProtoType's argument as unspecified parameters.Devang Patel2010-10-061-3/+3
| | | | llvm-svn: 115834
* Re-enable EH cleanups to destroy __block variables, now that we have a moment toJohn McCall2010-10-061-2/+1
| | | | | | deal with the consequences. Fixes rdar://problem/8224178. llvm-svn: 115816
* Do not emit subrange for incomplete array type.Devang Patel2010-10-061-7/+11
| | | | | | This is tested by ptype.exp in gdb testsuite. llvm-svn: 115805
* Remove unused argument.Devang Patel2010-10-063-5/+3
| | | | llvm-svn: 115789
* Teach PopCleanupBlock to correctly handle the possibility of branching throughJohn McCall2010-10-051-9/+14
| | | | | | | a EH-only cleanup as part of a fallthrough branch-through. That this happens for this test case is actually a separate bug. llvm-svn: 115668
* If we're resolving all outstanding fixups, and there are multiple fixupsJohn McCall2010-10-051-3/+4
| | | | | | | | | for the same destination, then we must potentially rewrite the initial branch of every fixup. Without this patch, a short-circuit check meant to prevent a switch case from being redundantly added was preventing later fixups from being processed. Fixes PR8175 (again). llvm-svn: 115586
* In the fragile ObjC ABI, save the caught exception to the side if there areJohn McCall2010-10-041-6/+33
| | | | | | | both @catches and a @finally, because the second call to @objc_exception_try_enter will clobber the exception slot. Fixes rdar://problem/8440970. llvm-svn: 115575
* dyn_cast is more appropriate here.Devang Patel2010-10-041-1/+1
| | | | llvm-svn: 115569
* Add missing '}' :)Devang Patel2010-10-041-0/+1
| | | | llvm-svn: 115568
* Emit debug info for an aggregate while processing MemberExpr if the ↵Devang Patel2010-10-041-0/+12
| | | | | | aggregate's debug info was delayed untill now. llvm-svn: 115564
* Fix filename in header comment.Devang Patel2010-10-041-1/+1
| | | | llvm-svn: 115561
* when expanding a builtin, if the argument is required to be a constant,Chris Lattner2010-10-021-3/+40
| | | | | | | | | force it to be a constant instead of emitting with EmitScalarExpr. In -ftrapv mode, they are not the same. This fixes rdar://8478728 + PR8221 llvm-svn: 115388
* tidyChris Lattner2010-10-011-3/+3
| | | | llvm-svn: 115383
* Mark explict methods as explict in debug info.Devang Patel2010-10-011-1/+9
| | | | llvm-svn: 115379
* Output debug info. for ivars declared in classFariborz Jahanian2010-10-011-3/+2
| | | | | | | extension and implementation. Fixes rdar://8493239. llvm-svn: 115248
* Introduce -flimit-debug-info.Devang Patel2010-09-303-7/+60
| | | | | | In this experimental mode try avoiding debug info emission for classes as much as possible. The goal is to reduce size of produced debuginfo without reducing quality of debug info in general. This is a work in progress. llvm-svn: 115188
* Attach aritifical attribute with implicit parameters.Devang Patel2010-09-291-3/+6
| | | | | | Radar 8493141. llvm-svn: 115104
* Emit method access specifier.Devang Patel2010-09-291-0/+6
| | | | | | Radar 8490416. llvm-svn: 115090
* Update to reflect DIFactory::CreateSubprogram() interface change from r115084.Devang Patel2010-09-291-15/+20
| | | | llvm-svn: 115085
* Remove dead code.Devang Patel2010-09-291-7/+0
| | | | llvm-svn: 115079
* Add support for attribute((naked)), patch by Zoxc on cfe-commits!Daniel Dunbar2010-09-291-0/+3
| | | | | | - Minor style tweaks by me. llvm-svn: 115056
* Accidentally committed some temporary changes on my branch when reverting ↵Bill Wendling2010-09-282-35/+31
| | | | | | patches. llvm-svn: 114936
* Temporarily revert 114929 114925 114924 114921. It looked like they (or at leastBill Wendling2010-09-282-31/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | one of them) was causing a series of failures: http://google1.osuosl.org:8011/builders/clang-x86_64-darwin10-selfhost/builds/4518 svn merge -c -114929 https://llvm.org/svn/llvm-project/cfe/trunk --- Reverse-merging r114929 into '.': U include/clang/Sema/Sema.h U include/clang/AST/DeclCXX.h U lib/Sema/SemaDeclCXX.cpp U lib/Sema/SemaTemplateInstantiateDecl.cpp U lib/Sema/SemaDecl.cpp U lib/Sema/SemaTemplateInstantiate.cpp U lib/AST/DeclCXX.cpp svn merge -c -114925 https://llvm.org/svn/llvm-project/cfe/trunk --- Reverse-merging r114925 into '.': G include/clang/AST/DeclCXX.h G lib/Sema/SemaDeclCXX.cpp G lib/AST/DeclCXX.cpp svn merge -c -114924 https://llvm.org/svn/llvm-project/cfe/trunk --- Reverse-merging r114924 into '.': G include/clang/AST/DeclCXX.h G lib/Sema/SemaDeclCXX.cpp G lib/Sema/SemaDecl.cpp G lib/AST/DeclCXX.cpp U lib/AST/ASTContext.cpp svn merge -c -114921 https://llvm.org/svn/llvm-project/cfe/trunk --- Reverse-merging r114921 into '.': G include/clang/AST/DeclCXX.h G lib/Sema/SemaDeclCXX.cpp G lib/Sema/SemaDecl.cpp G lib/AST/DeclCXX.cpp llvm-svn: 114933
* Kill FunctionDecl's IsCopyAssignment bit; it duplicated what couldDouglas Gregor2010-09-272-3/+3
| | | | | | | | already be determined by isCopyAssignmentOperator(), and was set too late in the process for all clients to see the appropriate value. Cleanup only; no functionality change. llvm-svn: 114916
* Revert my patch changing the MMX "shift" intrinsics that take immediates intoBill Wendling2010-09-271-8/+8
| | | | | | | "shift with non-immediate" intrinsics. It gets here because we they aren't immediates anymore. llvm-svn: 114890
* Patch implements passing arrays to functions expectingFariborz Jahanian2010-09-243-14/+22
| | | | | | vla. Implements pr7827. llvm-svn: 114737
* IRgen/ABI/ARM: Return large vectors in memory.Daniel Dunbar2010-09-231-0/+4
| | | | llvm-svn: 114619
* IRgen/ABI/ARM: Trust the backend to pass vectors correctly for the given ABI.Daniel Dunbar2010-09-231-0/+11
| | | | | | | | | | - Therefore, we can lower out the NEON wrapper structs and pass the vectors directly. This makes a huge difference in the cleanliness of the IR after optimization. - I will trust, but verify, via future ABITest testing (for APCS-GNU, at least). llvm-svn: 114618
* fix the rest of rdar://8461279 - clang miscompiles address-space qualified ↵Chris Lattner2010-09-211-8/+13
| | | | | | atomics llvm-svn: 114503
* same bug as before, this time with __sync_val_compare_and_swap.Chris Lattner2010-09-211-4/+6
| | | | llvm-svn: 114502
* fix __sync_bool_compare_and_swap to work with address-space qualified types.Chris Lattner2010-09-211-5/+6
| | | | llvm-svn: 114498
* Fixes an IRgen ICE due to cast of null pointer toFariborz Jahanian2010-09-211-2/+11
| | | | | | a vla type (fixes pr7827). llvm-svn: 114495
* IRgen for gnu extension's conditional lvalue expressionFariborz Jahanian2010-09-212-5/+18
| | | | | | | with missing LHS. radar 8453812. Executable test is checked into llvm test suite. llvm-svn: 114457
* Adjust for debug info API change.Benjamin Kramer2010-09-211-1/+1
| | | | llvm-svn: 114438
* Implements in IRgen gnu extensions missing LHS forFariborz Jahanian2010-09-202-13/+21
| | | | | | complex conditionals. Radar 8453812. llvm-svn: 114376
* Check in support for OpenCL conditional operator on vector types.Nate Begeman2010-09-201-0/+45
| | | | llvm-svn: 114371
* Fixes IRgen bug in objc++ reference binding of aFariborz Jahanian2010-09-181-1/+9
| | | | | | | getter expression. Fixes // rdar://8437240 llvm-svn: 114299
* do not rely on the implicit-dereference semantics of dyn_cast_or_nullGabor Greif2010-09-181-2/+2
| | | | llvm-svn: 114281
* Adjust a fixup's starting branch if it's being resolved becauseJohn McCall2010-09-182-8/+30
| | | | | | | it reached the outermost scope and it hasn't yet been forwarded to a cleanup. Fixed PR8175. llvm-svn: 114259
* Added '|' delimiter to separate inline asm multiple alternative constraints ↵John Thompson2010-09-181-6/+3
| | | | | | for Clang side of support. llvm-svn: 114253
* Fix a bug with binding l-values to elided temporaries, and leave a coupleJohn McCall2010-09-182-6/+12
| | | | | | helpful asserts behind. llvm-svn: 114250
* The MMX shift-with-immediate builtins require the equivalentBill Wendling2010-09-171-8/+8
| | | | | | shift-with-immediate LLVM intrinsics. llvm-svn: 114239
* Add a -ftrapv-handler= option which allows a handler to invoke instead of ↵David Chisnall2010-09-171-5/+43
| | | | | | simply aborting when a signed operation overflows. This mirrors the (GCC-incompatible) behaviour from clang 1.0 and 1.1 when -ftrapv was specified, but allows the handler to be defined for each compilation unit. llvm-svn: 114192
* Patch to add IRgen support for Gnu's conditional operatorFariborz Jahanian2010-09-172-16/+25
| | | | | | | | extension when missing LHS. This patch covers scalar conditionals only. Others are wip. (pr7726, radar 8353567). llvm-svn: 114182
* IRgen: Change CodeGenPasses to be a PassManager, so it can have CallGraphSCC orDaniel Dunbar2010-09-171-11/+5
| | | | | | Module. Patch by Mike Gist! llvm-svn: 114171
* Currently we're initializing the vtable pointers of a class only afterJohn McCall2010-09-171-0/+30
| | | | | | | | | | | | | | | the bases are completely initialized. This won't work --- base initializer expressions can rely on the vtables having been set up. Check for uses of 'this' in the initializers and force a vtable initialization if found. This might not be good enough; we might need to extend this to handle the possibility of arbitrary code finding an external reference to this (not yet completely-constructed!) object and accessing through it, in which case we'll probably find ourselves doing a lot more unnecessary stores. llvm-svn: 114153
* When emitting a new-expression inside a conditional expression,John McCall2010-09-173-18/+216
| | | | | | | | | | | | | | | | the cleanup might not be dominated by the allocation code. In this case, we have to store aside all the delete arguments in case we need them later. There's room for optimization here in cases where we end up not actually needing the cleanup in different branches (or being able to pop it after the initialization code). Also make sure we only call this operator delete along the path where we actually allocated something. Fixes rdar://problem/8439196. llvm-svn: 114145
OpenPOWER on IntegriCloud