summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* When sending a message to "id", apply some heuristics to try to narrowDouglas Gregor2010-04-062-0/+110
| | | | | | | down the set of code-completion results based on Objective-C conventions. llvm-svn: 100548
* performance: get rid of repeated dereferencing of use_iterator by caching ↵Gabor Greif2010-04-061-21/+28
| | | | | | its result llvm-svn: 100547
* const-ize predicate ValueIsOnlyUsedLocallyOrStoredToOneGlobalGabor Greif2010-04-061-9/+10
| | | | llvm-svn: 100546
* add a testcase that the integrated assembler rejects, this verifies Chris Lattner2010-04-061-0/+8
| | | | | | that the integrated assembler is working. llvm-svn: 100545
* use CallSite to access calls vs. invokes uniformlyGabor Greif2010-04-061-5/+6
| | | | | | and remove assumptions about operand order llvm-svn: 100544
* teach clang to install the inline asm diagnostic handler,Chris Lattner2010-04-062-3/+78
| | | | | | | | | | | | | | | | | allowing backend errors to be mapped through clang's diagnostics subsystem, including the backend location info. We now get: $ clang asm.c -c -o t.o -integrated-as <inline asm>:1:2: error: unrecognized instruction abc incl %eax ^ 1 diagnostic generated. With colors, and correct "# diagnostics generated". llvm-svn: 100543
* this accessor doesn't need to copy the string.Chris Lattner2010-04-061-1/+1
| | | | llvm-svn: 100542
* enhance SMDiagnostic to also maintain a pointer to the SourceMgr.Chris Lattner2010-04-064-14/+23
| | | | | | | Add a simplified constructor for clients that don't have locations like "file not found" errors. llvm-svn: 100538
* reduce indentation, tidy.Chris Lattner2010-04-062-115/+122
| | | | llvm-svn: 100537
* improved wording around ABIBlaine Garst2010-04-061-5/+6
| | | | llvm-svn: 100536
* Make code-completion for Objective-C message sends to "id" work in theDouglas Gregor2010-04-066-4/+88
| | | | | | | | presence of precompiled headers by forcibly loading all of the methods we know about from the PCH file before constructing our code-completion list. llvm-svn: 100535
* fit in 80 colsChris Lattner2010-04-061-2/+3
| | | | llvm-svn: 100534
* Put type restriction on convesion to nonconforming 'id' back in Fariborz Jahanian2010-04-062-3/+12
| | | | | | block pointer type comparison. llvm-svn: 100533
* Code clean up. Move includes from VirtRegRewriter.h to VirtRegRewriter.cpp.Evan Cheng2010-04-062-4/+5
| | | | llvm-svn: 100532
* Revise debug info machinery to digest nested functions and classes.Stuart Hastings2010-04-063-9/+28
| | | | | | | | | | | A certain GDB testsuite case (local.cc) has a function nested inside a class nested inside another function. GCC presents the innermost function to llvm-convert first. Heretofore, the debug info mistakenly placed the inner function at module scope. This patch walks the GCC context links and instantiates the outer class and function so the debug info is properly nested. Radar 7426545. llvm-svn: 100530
* Driver: Add a Tool::hasGoodDiagnostics hook, and use it to simplify logic forDaniel Dunbar2010-04-063-5/+10
| | | | | | | | deciding when we need to emit an extra "command failed" diagnostic. - This also fixes the case where we were emitting that extra diagnostics, even when using clang w/ the integrated assembler, which has good diagnostics. llvm-svn: 100529
* Implement support for code completion of an Objective-C message send toDouglas Gregor2010-04-062-9/+88
| | | | | | | | | | "id" or an expression of type "id". In these cases, we produce a list of all of the (class or instance) methods, respectively, that we know about. Note that this implementation does not yet work well with precompiled headers; that's coming soon. llvm-svn: 100528
* Add test for code completion of Objective-C message sends to classes.Douglas Gregor2010-04-061-0/+39
| | | | llvm-svn: 100527
* Perform code-completion within ParseCastExpression, which handles,Douglas Gregor2010-04-062-1/+21
| | | | | | e.g., the right-hand side of binary expressions. llvm-svn: 100526
* Adding SAFECode to the list of projects that work with LLVM 2.7.John Criswell2010-04-061-0/+16
| | | | llvm-svn: 100525
* Remove assert to treat memmove and memset like memcpyMon P Wang2010-04-061-3/+4
| | | | llvm-svn: 100521
* Use a ManagedCleanup to prevent leaking the PassRegistrar map. In breaks theOwen Anderson2010-04-061-6/+14
| | | | | | | use case where someone wants to resurrect LLVM after calling llvm_shutdown, but I'm not aware of any clients that are affected by this. llvm-svn: 100519
* 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
OpenPOWER on IntegriCloud