summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* fix AsmPrinter::GetBlockAddressSymbol to always return a uniqueChris Lattner2010-03-143-21/+18
| | | | | | | label instead of trying to form one based on the BB name (which causes collisions if the name is empty). This fixes PR6608 llvm-svn: 98495
* comment fix.Chris Lattner2010-03-141-1/+1
| | | | llvm-svn: 98494
* shrink 4-byte branches to 1-byte branches when lowering fromChris Lattner2010-03-141-0/+23
| | | | | | | MachineInstr -> MCInst. This is what the assembler backend wants, it relaxes from smaller to larger things. This fixes rdar://7750815 llvm-svn: 98493
* Skip over debug info when trying to merge two return BBs.Bill Wendling2010-03-141-4/+9
| | | | llvm-svn: 98491
* Make returns more consistent with others.Bill Wendling2010-03-141-2/+2
| | | | llvm-svn: 98490
* get MMI out of the label uniquing business, just go to MCContextChris Lattner2010-03-149-29/+20
| | | | | | to get unique assembler temporary labels. llvm-svn: 98489
* fix these two get the mcsymbol operand instead of imm operand.Chris Lattner2010-03-141-5/+2
| | | | llvm-svn: 98487
* add a new CreateTempSymbol method, the use case forChris Lattner2010-03-141-0/+6
| | | | | | | CreateTempSymbol vs GetOrCreateTemporarySymbol are completely different. llvm-svn: 98486
* don't use getDWLabel("label" anymore, always go through MMI.Chris Lattner2010-03-141-2/+2
| | | | llvm-svn: 98485
* remove now-dead code, all labels use MCSymbols.Chris Lattner2010-03-141-10/+1
| | | | llvm-svn: 98484
* change SrcLineInfo to contain a label instead of a label ID.Chris Lattner2010-03-142-9/+7
| | | | llvm-svn: 98483
* Now that DBG_LABEL is updated, we can finally make MachineMove Chris Lattner2010-03-149-94/+70
| | | | | | contain an MCSymbol instead of a label index. llvm-svn: 98482
* change the DBG_LABEL MachineInstr to always be createdChris Lattner2010-03-149-27/+29
| | | | | | with an MCSymbol instead of an immediate. llvm-svn: 98481
* unbreak the build, grr symlinks.Chris Lattner2010-03-141-3/+3
| | | | llvm-svn: 98477
* Change this code to allocate temporary labels from mccontext,Chris Lattner2010-03-141-1/+1
| | | | | | not from MMI. llvm-svn: 98475
* switch GC_LABEL to use an MCSymbol operand instead of a label ID operand.Chris Lattner2010-03-145-37/+34
| | | | llvm-svn: 98474
* Fix some EH failures on NNT I introduced in r98461Chris Lattner2010-03-141-4/+6
| | | | llvm-svn: 98471
* fix a bug I introduced in r98459, causing some NNT failures.Chris Lattner2010-03-141-1/+1
| | | | llvm-svn: 98470
* Do not force indirect tailcall through fixed registers: eax, r11. Add ↵Evan Cheng2010-03-147-87/+183
| | | | | | support to allow loads to be folded to tail call instructions. llvm-svn: 98465
* MC: Fix a crash on invalid, attempting to evaluate undefined symbols.Daniel Dunbar2010-03-142-4/+5
| | | | llvm-svn: 98464
* change the LabelSDNode to be EHLabelSDNode and make it holdChris Lattner2010-03-1410-40/+52
| | | | | | | | an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4". llvm-svn: 98463
* eliminate InvalidateLabel and LabelIDList from MMI and replaceChris Lattner2010-03-144-38/+4
| | | | | | them with a counter. llvm-svn: 98462
* use Label->isDefined() instead of isLabelDeleted() now that weChris Lattner2010-03-142-8/+9
| | | | | | | consistently use MCSymbol and only call this predicate after they should have been emitted. llvm-svn: 98461
* fix some pointless layering violations.Chris Lattner2010-03-141-2/+1
| | | | llvm-svn: 98460
* change EH related stuff (other than EH_LABEL) to use MCSymbolChris Lattner2010-03-1410-129/+115
| | | | | | | | | | | | | | | | instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress. Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :( One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert. llvm-svn: 98459
* X86_64: Fix encoding for the rest of the 64i32 instructions too.Daniel Dunbar2010-03-131-12/+12
| | | | llvm-svn: 98458
* X86: Fix ADD64i32 encoding.Daniel Dunbar2010-03-131-2/+2
| | | | llvm-svn: 98457
* MC/X86_64: Symbol support.Daniel Dunbar2010-03-131-6/+10
| | | | llvm-svn: 98456
* MC/Mach-O: Initial x86_64 support.Daniel Dunbar2010-03-131-45/+80
| | | | llvm-svn: 98454
* eliminate the now-unneeded context argument of MBB::getSymbol()Chris Lattner2010-03-1319-32/+33
| | | | llvm-svn: 98451
* rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner2010-03-1319-89/+85
| | | | | | | | | | | and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. llvm-svn: 98450
* Allow types that have been forwarded to to be freed.Jeffrey Yasskin2010-03-131-4/+11
| | | | | Tested: make check-lit && valgrind --dsymutil=yes --leak-check=full unittests/ExecutionEngine/JIT/Debug/JITTests llvm-svn: 98447
* MC/X86_64: Fix matching of leaq.Daniel Dunbar2010-03-131-2/+2
| | | | llvm-svn: 98444
* MC/X86_64: Fix matching of callq.Daniel Dunbar2010-03-131-0/+1
| | | | llvm-svn: 98443
* add a hack to allow parsing negative minint. rdar://7751341Chris Lattner2010-03-131-2/+8
| | | | llvm-svn: 98442
* add support for MCSymbols as operands to MachineInstrs.Chris Lattner2010-03-131-25/+34
| | | | llvm-svn: 98433
* simplify EmitFrameMoves to take BaseLabel in as a symbolChris Lattner2010-03-134-18/+13
| | | | | | | instead of as a stem+idx pair, simplify the "is a new location" check to use symbol comparison. llvm-svn: 98432
* simplify some overly general code. The stack always grows down on x86.Chris Lattner2010-03-131-6/+2
| | | | llvm-svn: 98431
* Fix another warning. There is a functionality change but I believe it's correct.Benjamin Kramer2010-03-131-2/+2
| | | | llvm-svn: 98430
* factor some labels, simplify some code.Chris Lattner2010-03-133-14/+15
| | | | llvm-svn: 98429
* Attempt to appease the arm-linux buildbot by fixing the JIT encodings for newBob Wilson2010-03-135-32/+51
| | | | | | base register updating load/store-multiple instructions. llvm-svn: 98427
* various cleanups.Chris Lattner2010-03-131-16/+17
| | | | llvm-svn: 98426
* MC/Mach-O: PCrel relocations weren't using the right base address, they areDaniel Dunbar2010-03-131-1/+1
| | | | | | | relative to the fragment address, not its offset. This was masked by the text section normally being at address 0. llvm-svn: 98420
* llvm-mc: Support -n, useful for comparing -integrated-as output since theDaniel Dunbar2010-03-131-7/+6
| | | | | | compiler may not lead with the text section. llvm-svn: 98418
* Fix a typo in ValueTracking that's causing instcombine to delete needed ↵Evan Cheng2010-03-131-1/+1
| | | | | | shift instructions. llvm-svn: 98416
* reimplement the string pool used for inlined functionChris Lattner2010-03-132-23/+38
| | | | | | entries to not thrash std::strings and MCSymbols. llvm-svn: 98415
* switch to the text section at the start of the .s file for darwin/x86Chris Lattner2010-03-132-1/+7
| | | | | | | targets. This is a temporary hack for the .o file writer that Daniel wants :) llvm-svn: 98413
* Delete MDNodes when LLVMContext is destroyed. Previous attempts: r97918, ↵Jeffrey Yasskin2010-03-132-16/+25
| | | | | | | | | | r97788. Tested: clang debug bootstrap, llvm-gcc bootstrap, `make check-lit` after configuring with --with-llvmgccdir (and this did run the FrontendC* tests this time) llvm-svn: 98410
* Change ARM ld/st multiple instructions to have variant instructions forBob Wilson2010-03-1311-179/+291
| | | | | | | | | | | | | | | writebacks to the address register. This gets rid of the hack that the first register on the list was the magic writeback register operand. There was an implicit constraint that if that operand was not reg0 it had to match the base register operand. The post-RA scheduler's antidependency breaker did not understand that constraint and sometimes changed one without the other. This also fixes Radar 7495976 and should help the verifier work better for ARM code. There are now new ld/st instructions explicit writeback operands and explicit constraints that tie those registers together. llvm-svn: 98409
* Do not ignore arg_size() impact while counting bb instructions.Devang Patel2010-03-131-3/+2
| | | | llvm-svn: 98408
OpenPOWER on IntegriCloud