summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* clang-wpa fixes for DiagnosticDouglas Gregor2010-04-061-4/+2
| | | | llvm-svn: 100518
* Avoid overflowing a signed integer which triggers undefined behaviour.Jakob Stoklund Olesen2010-04-061-4/+4
| | | | | | | Overflowing an unsigned integer is fine and behaves as you would expect. Also fix a pasto, allowing SignExtend64 to take a 64-bit argument. llvm-svn: 100517
* Fix PR 6725. It looks like the copy constructor gets elided during inlining.Zhongxing Xu2010-04-061-1/+1
| | | | | | This bug only shows up with GCC 4.4.1 Release-Asserts build. llvm-svn: 100516
* Add a const qualifier.Dan Gohman2010-04-061-1/+1
| | | | llvm-svn: 100515
* Unbreak buildDouglas Gregor2010-04-061-2/+3
| | | | llvm-svn: 100514
* IRgen: Move BitFieldIsSigned bit into CGBitFieldInfo.Daniel Dunbar2010-04-065-23/+22
| | | | llvm-svn: 100513
* Simplify.Daniel Dunbar2010-04-061-28/+11
| | | | llvm-svn: 100512
* Simplify.Daniel Dunbar2010-04-061-6/+2
| | | | llvm-svn: 100511
* propagate cookie management out one layer of function calls.Chris Lattner2010-04-063-6/+5
| | | | llvm-svn: 100510
* report errors through LLVMContext's inline asm handler if available.Chris Lattner2010-04-061-1/+15
| | | | llvm-svn: 100509
* Give MachineModuleInfo an actual Module*.Chris Lattner2010-04-064-6/+21
| | | | llvm-svn: 100508
* give LLVMContext an inline asm diagnostic hook member.Chris Lattner2010-04-064-2/+40
| | | | llvm-svn: 100506
* Remove unnecessary include.Devang Patel2010-04-061-1/+0
| | | | llvm-svn: 100505
* give the SourceMgr object a cookie.Chris Lattner2010-04-062-4/+9
| | | | llvm-svn: 100504
* Give llvm::SourceMgr the ability to have a client-specifiedChris Lattner2010-04-064-9/+43
| | | | | | diagnostic handler. llvm-svn: 100503
* Remove MaybeOwningPtr. We're going to use reference-counting instead.Douglas Gregor2010-04-051-93/+0
| | | | llvm-svn: 100499
* Make Diagnostic reference-counted, which is simpler than jugglingDouglas Gregor2010-04-059-63/+41
| | | | | | maybe-ownership vs. ownership. llvm-svn: 100498
* Properly enable load clustering.Jakob Stoklund Olesen2010-04-051-4/+0
| | | | | | | Operand 2 on a load instruction does not have to be a RegisterSDNode for this to work. llvm-svn: 100497
* Use cast<> + OpaquePtr.getAs<Decl> to add extra checking of our assumptions.Ted Kremenek2010-04-051-2/+3
| | | | llvm-svn: 100496
* Fix an obvious copy-n-paste bug. It's not known to cause any miscompilation.Evan Cheng2010-04-051-4/+2
| | | | llvm-svn: 100494
* inline in MC assembly parsers. clang -integrated-as nowChris Lattner2010-04-051-0/+1
| | | | | | works with inline asm! llvm-svn: 100493
* Give AsmParser an option to control whether it finalizesChris Lattner2010-04-053-4/+7
| | | | | | | | | | | | | | | | | | | | the stream. New demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax 000000000000000b movl %eax,(%rsp) 000000000000000e movl %eax,0x04(%rsp) 0000000000000012 addq $0x08,%rsp 0000000000000016 ret llvm-svn: 100492
* add .o file writing for inline asm in llc. Here's a sillyChris Lattner2010-04-052-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o <inline asm>:1:2: error: unrecognized instruction abc incl %eax ^ LLVM ERROR: Error parsing inline asm Only problem seems to be that the parser finalizes OutStreamer at the end of the first inline asm, which isn't what we want. For example: $ cat asm.c int foo(int X) { __asm__ ("incl %0" : "+r" (X)); return X; } $ clang asm.c -S -o - -emit-llvm | llc ... subq $8, %rsp movl %edi, (%rsp) movl %edi, %eax ## InlineAsm Start incl %eax ## InlineAsm End movl %eax, (%rsp) movl %eax, 4(%rsp) addq $8, %rsp ret $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax $ don't stop at inc! llvm-svn: 100491
* add a comment.Chris Lattner2010-04-051-0/+2
| | | | llvm-svn: 100490
* tidy #includes.Chris Lattner2010-04-051-7/+7
| | | | llvm-svn: 100489
* Output floating point representations in DWARF format. This is done by outputingBill Wendling2010-04-051-0/+26
| | | | | | the FP encoding directly as a hex representation. llvm-svn: 100487
* update unit test for api change.Chris Lattner2010-04-051-3/+1
| | | | llvm-svn: 100486
* stringref-ize the MemoryBuffer::get apis. This requiresChris Lattner2010-04-056-34/+27
| | | | | | a co-committed clang patch. llvm-svn: 100485
* Match MemoryBuffer API changes.Chris Lattner2010-04-055-14/+10
| | | | llvm-svn: 100484
* Fix possible null dereference by bailing out of ↵Ted Kremenek2010-04-051-1/+4
| | | | | | CheckObjCPropertyAttributes() early if the Decl* is null. llvm-svn: 100483
* Add nounwind.Evan Cheng2010-04-051-2/+2
| | | | llvm-svn: 100482
* Fix ADD32rr_alt instruction encoding bug. Patch by Marius Wachtler.Evan Cheng2010-04-051-1/+1
| | | | llvm-svn: 100480
* fix a really nasty bug that Evan was tracking in SCCP. When resolvingChris Lattner2010-04-051-29/+32
| | | | | | | | | | | | | | | | | | undefs in branches/switches, we have two cases: a branch on a literal undef or a branch on a symbolic value which is undef. If we have a literal undef, the code was correct: forcing it to a constant is the right thing to do. If we have a branch on a symbolic value that is undef, we should force the symbolic value to a constant, which then makes the successor block live. Forcing the condition of the branch to being a constant isn't safe if later paths become live and the value becomes overdefined. This is the case that 'forcedconstant' is designed to handle, so just use it. This fixes rdar://7765019 but there is no good testcase for this, the one I have is too insane to be useful in the future. llvm-svn: 100478
* GrrrrDouglas Gregor2010-04-051-1/+1
| | | | llvm-svn: 100476
* Try to de-bork build of WPADouglas Gregor2010-04-051-1/+2
| | | | llvm-svn: 100475
* IRgen: Move BitField LValues to just hold a reference to the CGBitFieldInfo.Daniel Dunbar2010-04-055-43/+52
| | | | | | | | | - Unfortunately, this requires some horrible code in CGObjCMac which always allocats a CGBitFieldInfo because we don't currently build a proper layout for Objective-C classes. It needs to be cleaned up, but I don't want the bit-field cleanups to be blocked on that. llvm-svn: 100474
* Extend the type printing policy to allow one to turn off the printingDouglas Gregor2010-04-054-15/+41
| | | | | | | of file locations for anonymous tag types (e.g., "enum <anonymous at t.h:15:6>"), which can get rather long. llvm-svn: 100470
* Print the errors when a clang test fails instead of just listing theJeffrey Yasskin2010-04-051-1/+1
| | | | | | failing test files. llvm-svn: 100469
* some code cleanups, use SwitchInst::findCaseValue, reduce indentationChris Lattner2010-04-051-62/+63
| | | | llvm-svn: 100468
* Code clean up.Evan Cheng2010-04-052-20/+18
| | | | llvm-svn: 100467
* Remove FIXME.Eric Christopher2010-04-051-2/+1
| | | | llvm-svn: 100466
* Clarify the ownership semantics of the Diagnostic object used byDouglas Gregor2010-04-055-38/+87
| | | | | | | | | ASTUnit. Previously, we would end up with use-after-free errors because the Diagnostic object would be creating in one place (say, CIndex) and its ownership would not be transferred into the ASTUnit. Fixes <rdar://problem/7818608>. llvm-svn: 100464
* Introduce MaybeOwningPtr, a smart pointer that may (or may not) haveDouglas Gregor2010-04-051-0/+92
| | | | | | | | ownership over the pointer it contains. Useful when we want to communicate ownership while still having several clients holding on to the same pointer *without* introducing reference counting. llvm-svn: 100463
* Emit debug info for objc getters and setters.Devang Patel2010-04-053-4/+24
| | | | llvm-svn: 100462
* Fix OProfileJITEventListener build for new DebugLoc.Jeffrey Yasskin2010-04-051-6/+7
| | | | llvm-svn: 100461
* Add a comment.Dan Gohman2010-04-051-0/+6
| | | | llvm-svn: 100459
* lowering a volatile llvm.memcpy to a libc memcpy is ok.Chris Lattner2010-04-051-1/+0
| | | | | | PR6779 llvm-svn: 100457
* Don't do code sinking on unreachable blocks. It's unprofitable and hazardous.Dan Gohman2010-04-052-0/+35
| | | | llvm-svn: 100455
* Add an isReachableFromEntry to MachineDominators, following the oneDan Gohman2010-04-051-2/+7
| | | | | | in Dominators. llvm-svn: 100454
* fix PR6780, properly handling the IR {|} escapes in inline asm strings.Chris Lattner2010-04-052-5/+21
| | | | llvm-svn: 100449
OpenPOWER on IntegriCloud