summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Remove the SystemZ backend.Dan Gohman2011-10-241-82/+0
| | | | llvm-svn: 142879
* Do not drop type qualifiers in -flimit-debug-info mode.Devang Patel2011-10-241-1/+7
| | | | llvm-svn: 142873
* Don't try to emit CK_LValueBitCast casts as constants. PR9558.Eli Friedman2011-10-241-1/+1
| | | | llvm-svn: 142863
* 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
OpenPOWER on IntegriCloud