aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Auto-upgrade the magic ".llvm.eh.catch.all.value" global toBill Wendling2010-09-105-0/+28
| | | | | | | "llvm.eh.catch.all.value". Only the name needs to be changed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113600 91177308-0d34-0410-b5e6-96231b3b80d8
* Calculate the number of VLDM/VSTM registers by subtracting the number ofBob Wilson2010-09-101-2/+2
| | | | | | | fixed operands from the total number of operands (including the variadic ones). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113597 91177308-0d34-0410-b5e6-96231b3b80d8
* Lower the unrolling theshold to 150. Empirical tests indicate that this is ↵Owen Anderson2010-09-101-1/+1
| | | | | | | | | a sweet spot in the performance per code size increase curve. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113595 91177308-0d34-0410-b5e6-96231b3b80d8
* x86mmx is 64 bits.Dale Johannesen2010-09-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113594 91177308-0d34-0410-b5e6-96231b3b80d8
* add a comment explicitly calling out that allocation orders may includeJim Grosbach2010-09-101-3/+6
| | | | | | | reserved regs and that register allocators need to explicitly check for them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113593 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark the sse_load_f32 and sse_load_f64 load patterns as having memoperands soBill Wendling2010-09-101-2/+2
| | | | | | | | that the memoperands are properly set after DAG building and general mucking about. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113585 91177308-0d34-0410-b5e6-96231b3b80d8
* Reword since this may not be a bug but intended behavior.Bill Wendling2010-09-101-10/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113584 91177308-0d34-0410-b5e6-96231b3b80d8
* Makefile.rules: LOADABLE_MODULE/Win32: "all" components may be linkedNAKAMURA Takumi2010-09-101-3/+6
| | | | | | | | only when ENABLE_SHARED=1. Loadable module for Win32 requires all symbols resolved for linking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113579 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't build redundant libLLVMgold.a.NAKAMURA Takumi2010-09-101-1/+0
| | | | | | | Building archive would be executed due to definition of BUILD_ARCHIVE, even if BUILD_ARCHIVE = "0". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113578 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test so it passes on non-Darwin hosts.Evan Cheng2010-09-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113577 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix merging base-updates for VLDM/VSTM: Before I switched these instructionsBob Wilson2010-09-102-2/+7
| | | | | | | | | | | to use AddrMode4, there was a count of the registers stored in one of the operands. I changed that to just count the operands but forgot to adjust for the size of D registers. This was noticed by Evan as a performance problem but it is a potential correctness bug as well, since it is possible that this could merge a base update with a non-matching immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113576 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach if-converter to be more careful with predicating instructions that wouldEvan Cheng2010-09-1028-80/+160
| | | | | | | | | | | | take multiple cycles to decode. For the current if-converter clients (actually only ARM), the instructions that are predicated on false are not nops. They would still take machine cycles to decode. Micro-coded instructions such as LDM / STM can potentially take multiple cycles to decode. If-converter should take treat them as non-micro-coded simple instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113570 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build error.Eric Christopher2010-09-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113566 91177308-0d34-0410-b5e6-96231b3b80d8
* Update comments, reorganize some code, rename variables to beEric Christopher2010-09-101-43/+40
| | | | | | | more clear. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113565 91177308-0d34-0410-b5e6-96231b3b80d8
* 64-bit fp loads can come straight out of the constant pool, not asEric Christopher2010-09-091-10/+18
| | | | | | | bad as I'd thought. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113561 91177308-0d34-0410-b5e6-96231b3b80d8
* Discard metadata produced by LLVM 2.7. The value enumeration it usedDan Gohman2010-09-094-22/+72
| | | | | | | | | | | | | | is different from what the code now uses in a two ways: NamedMDNodes were considered Values and included in the numbering, and the function-local metadata counter wasn't reset between functions. The later problem breaks lazy deserialization, so instead of trying to emulate the old numbering, just drop the old metadata. The only in-tree use case is debug info with LTO, where the QOI loss is considered acceptable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113557 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Don't crash when using -n and we see a directive before the initial ↵Daniel Dunbar2010-09-092-0/+37
| | | | | | | | section. - This is annoying, because we have to scatter this check everywhere that could emit real data, but I see no better solution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113552 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Make sure we exit != 0 if any errors are encountered.Daniel Dunbar2010-09-092-9/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113551 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL test under valgrind. It is not really our problem if sh is leaking.Jakob Stoklund Olesen2010-09-091-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113550 91177308-0d34-0410-b5e6-96231b3b80d8
* SIToFP and FPToSI conversions work only on fp-reg to fp-reg. MoveEric Christopher2010-09-091-7/+33
| | | | | | | some data around and implement a couple of move routines to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113546 91177308-0d34-0410-b5e6-96231b3b80d8
* MDNodes are not Constants.Dan Gohman2010-09-091-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113539 91177308-0d34-0410-b5e6-96231b3b80d8
* Print invalid metadata references as <badref>, for consistency withDan Gohman2010-09-091-2/+10
| | | | | | | regular value references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113538 91177308-0d34-0410-b5e6-96231b3b80d8
* New "move to fp reg" routine. Use it.Eric Christopher2010-09-091-5/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113537 91177308-0d34-0410-b5e6-96231b3b80d8
* "Strike that, reverse it." -- Mr. Wonka.Eric Christopher2010-09-091-2/+2
| | | | | | | Truncate when truncating, extend when extending. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113536 91177308-0d34-0410-b5e6-96231b3b80d8
* What the loop unroller cares about, rather than just not unrolling loops ↵Owen Anderson2010-09-093-6/+18
| | | | | | | | | | | | with calls, is not unrolling loops that contain calls that would be better off getting inlined. This mostly comes up when an interleaved devirtualization pass has devirtualized a call which the inliner will inline on a future pass. Thus, rather than blocking all loops containing calls, add a metric for "inline candidate calls" and block loops containing those instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113535 91177308-0d34-0410-b5e6-96231b3b80d8
* Add FPTrunc, fix some bugs where I forgot to update the value map.Eric Christopher2010-09-091-2/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113533 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r113439, which relaxed the requirement that loops containing calls ↵Owen Anderson2010-09-092-55/+2
| | | | | | | | | cannot be unrolled. After some discussion, there seems to be a better way to achieve the same effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113528 91177308-0d34-0410-b5e6-96231b3b80d8
* r113526 introduced an unintended change to the loop unrolling threshold. ↵Owen Anderson2010-09-091-1/+1
| | | | | | Revert it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113527 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in code to cap the loop code size reduction calculation.Owen Anderson2010-09-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113526 91177308-0d34-0410-b5e6-96231b3b80d8
* Use code-size reduction metrics to estimate the amount of savings we'll get ↵Owen Anderson2010-09-091-1/+24
| | | | | | | | | when we unroll a loop. Next step is to recalculate the threshold values given this new heuristic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113525 91177308-0d34-0410-b5e6-96231b3b80d8
* Basic FP->Int, Int->FP conversions.Eric Christopher2010-09-091-0/+55
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113523 91177308-0d34-0410-b5e6-96231b3b80d8
* Add one more pattern to fallback movddupBruno Cardoso Lopes2010-09-092-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113522 91177308-0d34-0410-b5e6-96231b3b80d8
* Extend the getDependence query with support for PHI translation.Dan Gohman2010-09-093-15/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113521 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a getPointerOperand() helper function to VAArgInst, for consistencyDan Gohman2010-09-091-0/+4
| | | | | | | with LoadInst and StoreInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113520 91177308-0d34-0410-b5e6-96231b3b80d8
* For each instruction itinerary class, specify the number of micro-ops eachEvan Cheng2010-09-0911-28/+140
| | | | | | | | | | | instruction in the class would be decoded to. Or zero if the number of uOPs must be determined dynamically. This will be used to determine the cost-effectiveness of predicating a micro-coded instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113513 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this comment.Dan Gohman2010-09-091-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113511 91177308-0d34-0410-b5e6-96231b3b80d8
* MCELF: Write relocation fragments in the right endian.Benjamin Kramer2010-09-091-5/+26
| | | | | | | - This code is gross, but does the job for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113509 91177308-0d34-0410-b5e6-96231b3b80d8
* Make ELF OS ABI dependent on the OS from target triple.Roman Divacky2010-09-093-15/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113508 91177308-0d34-0410-b5e6-96231b3b80d8
* build: Allow subdir Makefiles to provide an alternate location for the SRCDIRDaniel Dunbar2010-09-091-7/+11
| | | | | | Makefile, which can be used to allow building out of tree sources. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113503 91177308-0d34-0410-b5e6-96231b3b80d8
* Move remaining MMX instructions from SSE to MMX.Dale Johannesen2010-09-092-107/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113501 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code-size reduction estimation methods out of InlineCostAnalyzer ↵Owen Anderson2010-09-093-102/+102
| | | | | | | | | | | | and into CodeMetrics. They don't use any InlineCostAnalyzer state, and are useful for other clients who don't necessarily want to use all of InlineCostAnalyzer's logic, some of which is fairly inlining-specific. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113499 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Give a (lame) hard error if a .org directive would create an unreasonablyDaniel Dunbar2010-09-091-1/+1
| | | | | | large object file (> 1GB). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113494 91177308-0d34-0410-b5e6-96231b3b80d8
* tests: XFAIL a handful of tests on the vg_leak builder, so we can get back toDaniel Dunbar2010-09-099-0/+11
| | | | | | green. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113491 91177308-0d34-0410-b5e6-96231b3b80d8
* projects: Don't try to build libcxx if one happens to have it checked out intoDaniel Dunbar2010-09-091-1/+4
| | | | | | llvm/projects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113490 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an elf-dumper utility.Benjamin Kramer2010-09-093-0/+342
| | | | | | | | | - Output format and some of the code stolen from macho-dump. - Somewhat incomplete and probably buggy. - Comes with a very basic test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113488 91177308-0d34-0410-b5e6-96231b3b80d8
* lib/System/Host.cpp: 7bit-ize. Eliminate "TM" and "(R)" in comments.NAKAMURA Takumi2010-09-091-16/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113486 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of the last use of -m64 in FrontendC. This solutionDuncan Sands2010-09-091-2/+2
| | | | | | | | of checking for either 4 or 8 is not very satisfactory, but it would catch the original problem (an alignment of 1). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113485 91177308-0d34-0410-b5e6-96231b3b80d8
* Another test that uses -m64. Here too it looks like it can beDuncan Sands2010-09-091-10/+4
| | | | | | | | removed. Not that the XTARGET wasn't doing anything since it does nothing without an accompanying XFAIL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113484 91177308-0d34-0410-b5e6-96231b3b80d8
* On i386, llvm-gcc cannot be assumed to support -m64. Since theseDuncan Sands2010-09-092-3/+3
| | | | | | | | tests pass here (i686-linux and x86-64-linux) without -m64, simply remove the -m64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113483 91177308-0d34-0410-b5e6-96231b3b80d8
* This script is executable.Duncan Sands2010-09-091-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113479 91177308-0d34-0410-b5e6-96231b3b80d8