summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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
* Fix an obvious copy-n-paste bug. It's not known to cause any miscompilation.Evan Cheng2010-04-051-4/+2
| | | | llvm-svn: 100494
* 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
* 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
* 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
* 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
* 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
* Update to note that clang has a baseline now. Dropping x86-32 for MacOS.Tanya Lattner2010-04-051-6/+5
| | | | llvm-svn: 100447
* don't use emitlabel in the arm asm printer yet, the order Chris Lattner2010-04-051-2/+7
| | | | | | | isn't well specified. ARM really needs to have its instprinter finished at some point. llvm-svn: 100439
* Push const through the regex engine. Fixes some of the warnings in PR6616.Owen Anderson2010-04-052-44/+51
| | | | llvm-svn: 100438
* fix a couple problems I introduced handling symbolsChris Lattner2010-04-051-4/+10
| | | | | | with spaces in them. Sym->getName() != OS << *Sym llvm-svn: 100434
* Disambiguate else.Benjamin Kramer2010-04-051-1/+2
| | | | llvm-svn: 100423
* trim some prototypes.Chris Lattner2010-04-052-2/+0
| | | | llvm-svn: 100420
* remove the now-redundant MMI pointer in SelectionDAG.Chris Lattner2010-04-054-54/+33
| | | | llvm-svn: 100419
* hopefully sate the clang self host build, which is apparently Chris Lattner2010-04-051-0/+1
| | | | | | | | | | | instantiating some folding set stuff that GCC isn't, requiring some types to not be incomplete. I don't know if clang is right or wrong, but unbreaking the bot is goodness. Here's the broken build: http://google1.osuosl.org:8011/builders/clang-x86_64-darwin10-selfhost/builds/1813/steps/compile.llvm.stage2/logs/stdio llvm-svn: 100418
* remove some redundant MMI arguments.Chris Lattner2010-04-054-14/+9
| | | | llvm-svn: 100417
* unthread MMI from FastISelChris Lattner2010-04-057-53/+38
| | | | llvm-svn: 100416
* remove the MMI pointer from MachineFrameInfo.Chris Lattner2010-04-056-62/+28
| | | | llvm-svn: 100415
* enhance MachineFunction to have a MMI pointer.Chris Lattner2010-04-053-9/+12
| | | | llvm-svn: 100414
* Add MC and LTO, two terms I just had to explain on IRC.Nick Lewycky2010-04-051-3/+17
| | | | llvm-svn: 100413
* simplify code.Chris Lattner2010-04-051-7/+4
| | | | llvm-svn: 100412
* prune #includes.Chris Lattner2010-04-051-9/+2
| | | | llvm-svn: 100411
* privatize more stuff, eliminate vtables.Chris Lattner2010-04-052-28/+28
| | | | llvm-svn: 100410
* reprivatize now that DwarfWriter is gone.Chris Lattner2010-04-052-4/+2
| | | | llvm-svn: 100409
* prune #includes, MMI can never be nullChris Lattner2010-04-052-5/+9
| | | | llvm-svn: 100408
* prune #includes, realize the MMI can never be null.Chris Lattner2010-04-052-20/+34
| | | | llvm-svn: 100407
* finally blast DwarfWriter away.Chris Lattner2010-04-053-178/+0
| | | | llvm-svn: 100406
* change AsmPrinter to use DwarfDebug/DwarfException directlyChris Lattner2010-04-055-31/+43
| | | | | | instead of going through DwarfWriter. llvm-svn: 100405
* Get rid of traling whitespaces. No functionality change.Johnny Chen2010-04-051-1/+1
| | | | llvm-svn: 100404
* The disassembler impl. of MCDisassembler::getInstruction() was using the patternJohnny Chen2010-04-051-5/+23
| | | | | | | | | | | | | uint32_t insn; MemoryObject.readBytes(Address, 4, (uint8_t*)&insn, NULL) to read 4 bytes of memory contents into a 32-bit uint variable. This leaves the interpretation of byte order up to the host machine and causes PPC test cases of arm-tests, neon-tests, and thumb-tests to fail. Fixed to use a byte array for reading the memory contents and shift the bytes into place for the 32-bit uint variable in the ARM case and 16-bit halfword in the Thumb case. llvm-svn: 100403
* implement EmitFunctionEntryLabel to emit the .cc_top directive,Chris Lattner2010-04-051-61/+7
| | | | | | | allowing xcore to use the normal runOnMachineFunction implementation. llvm-svn: 100402
* don't reference DwarfWriterChris Lattner2010-04-052-3/+2
| | | | llvm-svn: 100401
* trim some spurious references to DwarfWriter. SDIsel really doesn'tChris Lattner2010-04-055-10/+6
| | | | | | need it anymore, so don't addRequire it. llvm-svn: 100400
OpenPOWER on IntegriCloud