aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-06-08Remove a temporary test case probe in CheckForLiveRegDef.Andrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132751 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-08Fix count.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132749 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-08Count how many phis we are creating.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132748 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Fix an issue where the two-address conversion pass incorrectly rewrites untiedCameron Zwarich
operands to an early clobber register. This fixes <rdar://problem/9566076>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132738 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Fix a silly error I introduce in r131951.Rafael Espindola
Fixes PR10095. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132735 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Create a new ARM directory for FrontendC tests and use it.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132734 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Fixed a few illegal paths with llvm_unreachable. Patch by Cameron McInally.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132732 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Typo.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132730 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Refactor MipsTargetLowering::EmitInstrWithCustomInserter.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132726 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Put back removed line.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132725 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Coding style fixes.Akira Hatanaka
- Fix indentation. - Move comments. - Fit lines in 80 columns. - Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132724 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Use tabs to separate opcode and operand strings.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132718 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Add comments for wrapper node patterns in MipsInstrInfo.td.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132717 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Test that ".byte 1, 2, 3, 4" does the right thing.Roman Divacky
Requested by nbjoerg! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132716 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Make EmitIntValue() work properly on big-endian targets.Roman Divacky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132715 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Tweak this test for ARM-hosted 'bot.Stuart Hastings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132711 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Switched to DenseMap for allowed sets in PBQP. Reduces total LLC time by 15% ↵Lang Hames
on CINT2006 for x86-32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132707 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Move the legalizer tests to the X86 directory because the test uses the x86Nadav Rotem
codegen. Thanks Galina. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132706 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Add test case for C++ exception handling and fix the following mistakes in ↵Akira Hatanaka
MipsFrameLowering::emitPrologue: - cfi directives are not inserted at the right location or in the right order. - The source MachineLocation for the cfi directive that changes the cfa register to $fp should be MachineLocation::VirtualFP. - A PROLOG_LABEL that marks the beginning of cfi_offset directives for callee-saved register is emitted even when no callee-saved registers are saved. - When a callee-saved double precision register is saved, two cfi_offset directives, one for each of the paired single precision registers, should be emitted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132703 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Fix a merge bug in preRAsched for handling physreg aliases.Andrew Trick
I've been sitting on this long enough trying to find a test case. I think the fix should go in now, but I'll keep working on the test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132701 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07Fix for setjmp/longjmp exception handling on ARM. setjmp clobbers CPSR.Andrew Trick
rdar://problem/9556069 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132699 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06Simplify local live range splitting's safeguard to fix PR10070.Jakob Stoklund Olesen
When local live range splitting creates a live range with the same number of instructions as the old range, mark it as RS_Local. When such a range is seen again, require that it be split in a way that reduces the number of instructions. That guarantees we are making progress while still being able to perform 3 -> 2+3 splits as required by PR10070. This also means that the PrevSlot map is no longer needed. This was also used to estimate new spill weights, but that is no longer necessary after slotIndexes::insertMachineInstrInMaps() got the extra Late insertion argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132697 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06Followup to 132458, omit unnecessary stack copy when x87 input is aStuart Hastings
load. rdar://problem/6373334 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132696 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06Add -O1/2/3 to bugpoint, so when you conclude opt -O2 reproduces an issue, ↵Eli Friedman
you can just run bugpoint -O2. :) My implementation isn't precisely equivalent to what opt does, but as far as I can tell, it's close enough. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132695 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06We only do always-inlining at -O1; make opt reflect that.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132693 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06Get allocation orders from RegisterClassInfo when possible.Jakob Stoklund Olesen
Only target-dependent hints require callbacks. The RCI allocation order has CSR aliases last according to their order of appearance in the getCalleeSavedRegs list. This can depend on the calling convention. This way, AllocationOrder::next doesn't have to check for reserved registers, and CSRs are always allocated last, even with weird calling conventions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132690 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06Add methods to support the integer-promotion of vector types. Methods toNadav Rotem
legalize SDNodes such as BUILD_VECTOR, EXTRACT_VECTOR_ELT, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132689 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06This directory was missing the dg.exp to cause the tests to run. Some time sinceNick Lewycky
it was added, the test has regressed, so XFAIL it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132686 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06Test case for PR10085.Stuart Hastings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132682 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06Avoid FGETSIGN of 80-bit types. Fixes PR10085.Stuart Hastings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132681 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06Don't try to be clever, just preserve the target's allocation order.Jakob Stoklund Olesen
The order of registers returned by getCalleeSavedRegs is used to lay out the fixed stack slots for CSRs. Some targets like their CSRs used from one end, and some targets want them used from the other end. When computing an allocation order, simply preserve the relative ordering of CSRs that the target specifies in its allocation order. Reordering CSRs would break some targets, ARM in particular. We still place volatiles before the CSRs, providing slightly better results with different calling conventions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132680 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-06PR10077: fix fast-isel of extractvalue of aggregate constants.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132676 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-05Harden tests for windows path separators.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132671 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-05Use path API for path concatenation.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132668 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-05Basic support for macros with explicit arguments.Rafael Espindola
We still don't handle * default values * :req * :vararg * \() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132656 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-05Produce an undefined reference to _GLOBAL_OFFSET_TABLE_ if we have aRafael Espindola
VK_GOTOFF reloc. This matches as' behavior, but it is not clear why the linker might need this, so I added a FIXME. I could test this by duplicating test/MC/ELF/got.s, but it doesn't look worthwhile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132655 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Fix a test that keeps breaking when allocation orders change.Jakob Stoklund Olesen
Who said FileCheck couldn't handle arbitrarily complex conditions? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132654 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04TypeLegalizer: Add support for passing of vector-promoted types in registers ↵Nadav Rotem
(copyFromParts/copyToParts). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132649 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04TypeLegalizer: Fix a bug in the promotion of elements of integer vectors.Nadav Rotem
(only happens when using the -promote-elements option). The correct legalization order is to first try to promote element. Next, we try to widen vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132648 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Refactor parsing of variable names (ie., %foo and @foo) since they have the sameNick Lewycky
rules. Also refactor "read string until quote" into its own function. No functionality change! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132645 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Add support for @GOTPTOFF in i386 mode.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132643 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Cast unused parameter to void.Hans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132641 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04If the block that we're threading through is jumped to by an indirect branch,Bill Wendling
then we don't want to set the destination in the indirect branch to the destination. This is because the indirect branch needs its destinations to have had their block addresses taken. This isn't so of the new critical edge that's split during this process. If it turns out that the destination block has only one predecessor, and that being a BB with an indirect branch, then it won't be marked as 'used' and may be removed. PR10072 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132638 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Drop a RecordKeeper reference that wasn't necessary.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132636 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Add a testcase to demonstrate the problem where phi translation isDan Gohman
ignored for clobbering partial-alias loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132633 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Reapply r131781, now that the GVN bug with partially-aliasing loadsDan Gohman
is disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132632 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Disable the main feature of 130180, the elimination of loads that areDan Gohman
redundant with partially-aliasing loads. When computing what portion of a clobbering load value is needed, it doesn't consider phi-translation which may have occurred between the clobbing load and the redundant load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132631 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Remove this test, which should have been reverted along with r131781.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132628 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Use processor name in the target triple. This fixes PowerPC64 to generateRoman Divacky
64bit code for example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132627 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Revert r131781 again. Apparently there is more going on here.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132625 91177308-0d34-0410-b5e6-96231b3b80d8