summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Fix mismatched new[]/delete[].Benjamin Kramer2011-10-241-1/+1
| | | | llvm-svn: 142803
* Remove debugging printfs that some idiot left in.David Chisnall2011-10-241-3/+0
| | | | llvm-svn: 142796
* Enable experimental support for objc_msgSend with GNUstep ObjC runtime.David Chisnall2011-10-241-9/+32
| | | | llvm-svn: 142795
* Fix a typo that completely broke the expansion of complex arguments.Bob Wilson2011-10-221-1/+1
| | | | llvm-svn: 142734
* Remove obsolete debugging macro, make helper static.Benjamin Kramer2011-10-221-7/+5
| | | | llvm-svn: 142730
* Fix PR11073 by adding the argument type information to the decl we constructEric Christopher2011-10-211-3/+10
| | | | | | | | for the function type. Update a testcase accordingly. Patch initially by Anders Waldenborg! llvm-svn: 142700
* c++: support gcc's application of weak attribute onFariborz Jahanian2011-10-211-0/+2
| | | | | | | | | | | | | class declaration which forces any such class and any class that inherits from such a class to have their typeinfo symbols be marked as weak. // rdar://10246395 A test/CodeGenCXX/weak-extern-typeinfo.cpp M lib/Sema/SemaDeclCXX.cpp M lib/Sema/SemaDeclAttr.cpp M lib/CodeGen/CGRTTI.cpp llvm-svn: 142693
* Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This isNick Lewycky2011-10-211-0/+3
| | | | | | | closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. llvm-svn: 142633
* Add block information for ObjC @catch blocks.Eric Christopher2011-10-191-1/+1
| | | | | | Fixes rdar://10282889 llvm-svn: 142467
* Add a new subclass of RunCleanupScopes that also handles creating newEric Christopher2011-10-191-3/+41
| | | | | | lexical blocks for debug info. llvm-svn: 142466
* More metaprogramming with builtin types.John McCall2011-10-182-8/+8
| | | | llvm-svn: 142433
* Macro metaprogramming for builtin types.John McCall2011-10-181-9/+5
| | | | llvm-svn: 142420
* Rewrite parts of MS ABI C++ layout. Based on work by r4start; I ended up ↵Eli Friedman2011-10-181-6/+8
| | | | | | doing this while I was trying to review his patch. llvm-svn: 142325
* Wire up support for the controlling the extended dwarf .file directive. WithNick Lewycky2011-10-171-0/+2
| | | | | | | r142300 but not this patch, clang -S may emit .s files that assemblers other than llvm-mc can't parse. llvm-svn: 142301
* Add a new placeholder type to represent "unbridged"John McCall2011-10-173-0/+4
| | | | | | | | casts in ARC. No semantic analysis yet. llvm-svn: 142208
* Convert inline asm source ranges into clang SourceRanges and print them with ↵Benjamin Kramer2011-10-161-2/+11
| | | | | | | | | | | | | | the instantiated note. t.c:2:7: error: invalid operand for instruction asm("movl 0(%rax), 0(%edx)"); ^ <inline asm>:1:16: note: instantiated into assembly here movl 0(%rax), 0(%edx) ^~~~~~~ 1 error generated. llvm-svn: 142131
* Replace vectors with arrays.Benjamin Kramer2011-10-153-69/+73
| | | | llvm-svn: 142072
* Handle an edge case involving the conditional operator and throw ↵Eli Friedman2011-10-151-5/+12
| | | | | | expressions. PR10582. llvm-svn: 142047
* Provide half floating point support as a storage only type.Anton Korobeynikov2011-10-145-24/+76
| | | | | | Lack of half FP was a regression compared to llvm-gcc. llvm-svn: 142016
* Misc fixes for atomics. Biggest fix is doing alignment correctly for ↵Eli Friedman2011-10-141-8/+6
| | | | | | _Atomic types. llvm-svn: 142002
* Simplify code to avoid a useless string copy.Benjamin Kramer2011-10-141-6/+4
| | | | llvm-svn: 141970
* Upgrade to PathV2.Benjamin Kramer2011-10-141-5/+5
| | | | llvm-svn: 141969
* Add parens to pacify GCC.Benjamin Kramer2011-10-141-2/+2
| | | | llvm-svn: 141968
* PR11124: Don't overwrite memory outside of a base class when performing ↵Eli Friedman2011-10-143-2/+66
| | | | | | zero-initialization before running its constructor. llvm-svn: 141933
* Recommit:Eric Christopher2011-10-139-147/+113
| | | | | | | | | | | | | | | Start handling debug line and scope information better: Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 after fixing a few bugs that were exposed in gdb testsuite testing. llvm-svn: 141893
* TCE target: conversion of OpenCL reqd_work_group_size attr to metadataPeter Collingbourne2011-10-131-2/+73
| | | | | | Patch by Pekka Jääskeläinen! llvm-svn: 141865
* Add returns_twice to functions that are known to return twice. This implementsRafael Espindola2011-10-121-0/+2
| | | | | | the same behavior of gcc by keeping the attribute out of the function type. llvm-svn: 141803
* Revert file/scope handling patches. gdb testing revealed a couple of bugs.Eric Christopher2011-10-128-109/+146
| | | | llvm-svn: 141796
* Removed extra line in comment.Jim Goodnow II2011-10-121-1/+0
| | | | llvm-svn: 141773
* Remember to set the location in EmitGlobalVariable to the current declEric Christopher2011-10-121-0/+2
| | | | | | if we're going to delete the setLocation as we did in 141732. llvm-svn: 141762
* Start handling debug line and scope information better:Eric Christopher2011-10-118-146/+107
| | | | | | | | | | | Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 llvm-svn: 141732
* 80-column and tab cleanup.Eric Christopher2011-10-111-13/+20
| | | | llvm-svn: 141731
* Reorder this to make it easier to add more changes for a location set.Eric Christopher2011-10-111-2/+4
| | | | llvm-svn: 141730
* Silence some -Wuninitialized false positives with gcc.Eli Friedman2011-10-111-1/+2
| | | | llvm-svn: 141701
* Initial implementation of __atomic_* (everything except __atomic_is_lock_free).Eli Friedman2011-10-116-0/+357
| | | | llvm-svn: 141632
* Constant expression evaluation refactoring:Richard Smith2011-10-109-41/+36
| | | | | | | | | | | - Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions, and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert behaviour. - Factor out evaluation of bitfield bit widths. - Fix a few places which would evaluate an expression twice: once to determine whether it is a constant expression, then again to get the value. llvm-svn: 141561
* Apparently getPtrToInt() takes an explicit type parameter to allow you to ↵David Chisnall2011-10-081-3/+10
| | | | | | generate invalid bitcode, not so that it can actually produce a value of this type. This should fix PR11085. llvm-svn: 141482
* Free 'TheTargetCodeGenInfo' in the class CodeGenModule. This looks like an ↵Ted Kremenek2011-10-082-3/+1
| | | | | | obvious memory leak that was reported from LLDB devs. The comment indicates the leak is deliberate, but I have no idea why this needs to be so. Please comment/revert if you know otherwise. llvm-svn: 141479
* Fix warning on MSVC. Patch by Aaron Ballman.Eli Friedman2011-10-081-1/+1
| | | | llvm-svn: 141467
* Rename TagDecl::isDefinition -> isCompleteDefinitionJohn McCall2011-10-072-3/+3
| | | | | | | for better self-documenting code, since the semantics are subtly different from getDefinition(). llvm-svn: 141355
* Record layout requires not just a definition, but a completeJohn McCall2011-10-071-1/+1
| | | | | | | | definition. Assert this. Change IR generation to not try to aggressively emit the IR translation of a record during its own definition. Fixes PR10912. llvm-svn: 141350
* llvm.memory.barrier is going away; remove the wrapper intrinsic ↵Eli Friedman2011-10-061-12/+0
| | | | | | | | __builtin_llvm_memory_barrier. __atomic_thread_fence will be landing soon as a replacement, wrapping around the new fence instruction. llvm-svn: 141332
* Support for C1x _Atomic specifier (see testcase). This is primarily being ↵Eli Friedman2011-10-065-0/+29
| | | | | | | | committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic. Thanks to Jeffrey Yasskin for the thorough review! llvm-svn: 141330
* CUDA: IR generation support for device stubsPeter Collingbourne2011-10-063-0/+101
| | | | llvm-svn: 141304
* CUDA: add -fcuda-is-device flagPeter Collingbourne2011-10-061-0/+17
| | | | | | | This frontend-only flag is used by the IR generator to determine whether to filter CUDA declarations for the host or for the device. llvm-svn: 141301
* CUDA: IR generation support for kernel call expressionsPeter Collingbourne2011-10-069-4/+174
| | | | llvm-svn: 141300
* CUDA: set proper calling conventions for PTXPeter Collingbourne2011-10-061-7/+13
| | | | llvm-svn: 141296
* When constructing debug information for synthesized variables for theEric Christopher2011-10-061-3/+8
| | | | | | | | | | non-fragile ABI we may not be able to lay out the type and the debugger would ignore us even if we did put in the offset. Go ahead and just put any value there and don't look up the offset since it may not exist. rdar://10210157 llvm-svn: 141261
* Reformat comment.Eric Christopher2011-10-061-6/+6
| | | | llvm-svn: 141260
* PTX: Set proper calling conventions for PTX in OpenCL mode.Justin Holewinski2011-10-051-5/+40
| | | | llvm-svn: 141193
OpenPOWER on IntegriCloud