aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-19change Target.getInstructionsByEnumValue to return a referenceChris Lattner
to a vector that CGT stores instead of synthesizing it on every call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98910 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-19Revert r98892. BSD systems may not have bash installed at all.Jeffrey Yasskin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98909 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-19factor copy and paste code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98908 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-19don't go through getInstructions().Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98906 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-19Bugpoint's default memory limit (100MB) was too low for valgrind, soJeffrey Yasskin
this patch raises the default to 800MB when valgrind's active. 800 was chosen semi-arbitrarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98905 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-19look up instructions by record, not by name.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98904 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-19Now that tblgen can handle matching implicit defs of instructionsChris Lattner
to input patterns, we can fix X86ISD::CMP and X86ISD::BT as taking two inputs (which have to be the same type) and *returning an i32*. This is how the SDNodes get made in the graph, but we weren't able to model it this way due to deficiencies in the pattern language. Now we can change things like this: def UCOM_FpIr80: FpI_<(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP, - [(X86cmp RFP80:$lhs, RFP80:$rhs), - (implicit EFLAGS)]>; // CC = ST(0) cmp ST(i) + [(set EFLAGS, (X86cmp RFP80:$lhs, RFP80:$rhs))]>; and fix terrible crimes like this: -def : Pat<(parallel (X86cmp GR8:$src1, 0), (implicit EFLAGS)), +def : Pat<(X86cmp GR8:$src1, 0), (TEST8rr GR8:$src1, GR8:$src1)>; This relies on matching the result of TEST8rr (which is EFLAGS, which is an implicit def) to the result of X86cmp, an i32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98903 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Update comment to refer to the right filename.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98902 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18tidy upChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98901 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18expand tblgen's support for instructions with implicit defs.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98900 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18infer results of a pattern from implicit defs. This allows you to do something Chris Lattner
like this: def : Pat<(add ...), (FOOINST)>; When fooinst only has a single implicit def (e.g. to R1). This will be handled as if written as (set R1, (FOOINST ...)) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98897 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Work around a valgrind oddity where it doesn't pass the full path of aJeffrey Yasskin
script to the #! command by using bash instead of /bin/sh. Bash searches $PATH for its script argument, but dash, which /bin/sh resolves to on some systems, does not. https://bugs.kde.org/show_bug.cgi?id=231257 tracks the valgrind problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98892 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Get rid of target-specific fp <-> int nodes when still I'm here.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98889 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Get rid of target-specific nodes for fp16 <-> fp32 conversion.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98888 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Refactor Reg-Reg copy emission routine for ARM. This makes cross-regclass ↵Anton Korobeynikov
copies weirdness more straightforward. Also, add GPR <-> SPR copy support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98887 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Couple of changes that Dan mentioned for llvm.stackprotector fast-isel.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98881 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18X86MCCodeEmitter: Fix two minor issues with reloc_riprel_4byte_movq_load, weDaniel Dunbar
were missing it on some movq instructions and were not including the appropriate PCrel bias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98880 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18capture implicit uses and defs in CodeGenInstructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98879 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18simplify this code, the # of sets in the pattern for an instructionChris Lattner
shouldn't change this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98872 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18disallow concatenation of two dags with different operators.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98871 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18rewrite this to not artificially force concat the ins/outs list.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98870 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18fix some buggy ops concatentationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98869 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18eliminate support for "ops" in the input/output list of anChris Lattner
instruction. Instructions must use 'ins' and 'outs' now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98868 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18use ins/outsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98867 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18use ins/outs.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98866 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18remove some code that was working around old sparc v9 backend bugs.Chris Lattner
Add checking that the input/output operand list in spelled right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98865 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18outs come before ins.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98864 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Make fast-isel understand llvm.stackprotector.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98862 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Refactor NEON ld/st instructions to hardcode class arguments that are constants.Bob Wilson
No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98860 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18lit: Tweak example tests config.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98859 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18MC/X86/AsmMatcher: Use the new instruction cleanup routine to implement aDaniel Dunbar
temporary workaround for matching inc/dec on x86_64 to the correct instruction. - This hack will eventually be replaced with a robust mechanism for handling matching instructions based on the available target features. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98858 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18MC/AsmMatcher: Add support for target specific "instruction cleanup" functions,Daniel Dunbar
to allow custom post-processing of matched instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98857 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18fix an x86-64 encoding bug Daniel found.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98855 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18offsetof always has type size_t.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98854 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Simplify this code.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98853 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Fix a name clash that was breaking MSVC builds.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98852 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Explicitly cast std::min's arguments to avoid type mismatches.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98851 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18another oneGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98850 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Define placement new wrappers for BumpPtrAllocator andDan Gohman
RecyclingAllocator to allow client code to be simpler, and simplify several clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98847 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Make this test more lenient; with SmallVector now using actuallyDan Gohman
aligned storage, the capacity may be more than what is explicitly requested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98846 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Fix pr6543: svn r88806 changed MachineJumpTableInfo::getJumpTableIndex() toBob Wilson
always create a new jump table. The intention was to avoid merging jump tables in SelectionDAGBuilder, and to wait for the branch folding pass to merge tables. Unfortunately, the same getJumpTableIndex() method is also used to merge tables in branch folding, so as a result of this change branch tables are never merged. Worse, the branch folding code is expecting getJumpTableIndex to always return the index of an existing table, but with this change, it never does so. In at least some cases, e.g., pr6543, this creates references to non-existent tables. I've fixed the problem by adding a new createJumpTableIndex function, which will always create a new table, and I've changed getJumpTableIndex to only look at existing tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98845 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Fix a bug found by inspection; in the __GNUC__ code, the alignmentDan Gohman
doesn't apply to the type, only to the variable, so subsequent uses of U which expect it to be aligned weren't actually aligned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98843 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Nick wants these alphabetized Andrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98840 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18add a special relocation type for movq loads for objectChris Lattner
files that produce special relocation types where the linker changes movq's into lea's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98839 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Add explicit braces to avoid ambiguous ‘else’.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98838 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18callq is pcrelativeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98835 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Check if function names start with "llvm." before trying to lookup them up asBob Wilson
intrinsics. The intrinsic lookup code assumes that this check has been done and assumes the names are at least 6 characters long. Valgrind complained about this. pr6638. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98831 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Fix comment.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98830 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Add the ability to "intern" FoldingSetNodeID data into aDan Gohman
BumpPtrAllocator-allocated region to allow it to be stored in a more compact form and to avoid the need for a non-trivial destructor call. Use this new mechanism in ScalarEvolution instead of FastFoldingSetNode to avoid leaking memory in the case where a FoldingSetNodeID uses heap storage, and to reduce overall memory usage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98829 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18Adding MicroBlaze as an experimental backend in the release notesWesley Peck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98824 91177308-0d34-0410-b5e6-96231b3b80d8