aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-10-19This is a generic test for all code generators. It originally came fromJohn Criswell
Regression/Codegen/X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23826 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Write patterns for the various shl and srl patterns that don't involveNate Begeman
doing something clever. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23824 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Force i386 code generation for an i386 specific test.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23821 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Push processor descriptions to the top of target and add command line info.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23820 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19add support for literal immediates in patterns to match, allowing us toChris Lattner
write things like this: def : Pat<(add GPRC:$in, 12), (ADD12 GPRC:$in)>; Andrew: if this isn't enough or doesn't work for you, please lemme know. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23819 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19now that tblgen is smarter, use integers directly. This should help Andrew tooChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23818 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Add basic support for integer constants in pattern results.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23817 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Fix some checking that was causing duraid to get a perplexing assertionChris Lattner
instead of a happy error message git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23816 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Add support for patterns that have physical registers in them. Testcase:Chris Lattner
def : Pat<(trunc G8RC:$in), (OR8To4 G8RC:$in, X0)>; Even though this doesn't make any sense on PPC :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23815 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Asserting here is to violentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23814 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19teach ppc backend these are copiesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23813 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Make this work with the internalize changeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23812 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Convert these cases to patternsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23811 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Nate wants to define 'Pat's which turn into instructions that don't haveChris Lattner
patterns. Certainly a logical request. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23810 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Woo, it kinda works. We now generate this atrociously bad, but correct,Nate Begeman
code for long long foo(long long a, long long b) { return a + b; } _foo: or r2, r3, r3 or r3, r4, r4 or r4, r5, r5 or r5, r6, r6 rldicr r2, r2, 32, 31 rldicl r3, r3, 0, 32 rldicr r4, r4, 32, 31 rldicl r5, r5, 0, 32 or r2, r3, r2 or r3, r5, r4 add r4, r3, r2 rldicl r2, r4, 32, 32 or r4, r4, r4 or r3, r2, r2 blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23809 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Testcase that crashes llvmgcc in type layoutChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23806 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19apply some tblgen majik to simplify the X register definitionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23805 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Teach Legalize how to do something with EXTRACT_ELEMENT when the type ofNate Begeman
the pair of elements is a legal type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23804 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19Make a new reg class for 64 bit regs that aliases the 32 bit regs. ThisNate Begeman
will have to tide us over until we get real subreg support, but it prevents the PrologEpilogInserter from spilling 8 byte GPRs on a G4 processor. Add some initial support for TRUNCATE and ANY_EXTEND, but they don't currently work due to issues with ScheduleDAG. Something wll have to be figured out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23803 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Add the ability to lower return instructions to TargetLowering. ThisNate Begeman
allows us to lower legal return types to something else, to meet ABI requirements (such as that i64 be returned in two i32 regs on Darwin/ppc). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23802 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Fix Generic/2005-10-18-ZeroSizeStackObject.ll by not requesting a zeroChris Lattner
sized stack object if either the array size or the type size is zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23801 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23798 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18remove hackChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23797 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18This was never updated for the project makefile changesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23790 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18This never got updated to reflect the project makefile changesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23789 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Simple edits; remove unimplimented cases and clarify long haul SLU cases.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23788 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Fix the JIT encoding of LWA, LD, STD, and STDU.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23787 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Checking in first round of scheduling tablegen files. Not tied in as yet.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23786 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18add a caseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23785 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Fix PR637Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23784 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Add an option to this pass. If it is set, we are allowed to internalizeChris Lattner
all but main. If it's not set, we can still internalize, but only if an explicit symbol list is provided. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23783 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18add an option to the internalize passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23782 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Fold (select C, load A, load B) -> load (select C, A, B). This happens quiteChris Lattner
a lot throughout many programs. In particular, specfp triggers it a bunch for constant FP nodes when you have code like cond ? 1.0 : -1.0. If the PPC ISel exposed the loads implicit in pic references to external globals, we would be able to eliminate a load in cases like this as well: %X = external global int %Y = external global int int* %test4(bool %C) { %G = select bool %C, int* %X, int* %Y ret int* %G } Note that this breaks things that use SrcValue's (see the fixme), but since nothing uses them yet, this is ok. Also, simplify some code to use hasOneUse() on an SDOperand instead of hasNUsesOfValue directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23781 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Duraid pointed out that it is impolite to emit PPC:: into the IA64 backendChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23780 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Do the right thing and enable 64 bit regs under the control of a subtargetNate Begeman
option. Currently the only way to enable this is to specify the 64bitregs mattr flag. It is never enabled by default on any config yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23779 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18First bits of 64 bit PowerPC stuff, currently disabled. A lot of this isNate Begeman
purely mechanical. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23778 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Implement some feedback from Chris re: constant canonicalizationNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23777 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Legalize BUILD_PAIR appropriately for upcoming 64 bit PowerPC work.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23776 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17Use %s instead of hard coding the input filename.John Criswell
This allows the test to work when srcdir != objdir. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23775 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17fold fmul X, +2.0 -> fadd X, X;Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23774 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17Make this work for FP constantexprsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23773 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17Oops, X+0.0 isn't foldable, but X+-0.0 is.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23772 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17relax this a bit, as we only support the default rounding modeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23771 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17Apparently, people object to floating pointers. Picky picky.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23770 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17As requested, a blurb on sub-targets.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23769 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17fix some grammar-o's I noticedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23768 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17Feedback from Nate.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23767 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17Document -view-isel-dags and -view-sched-dagsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23766 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17Add notes about MF.viewCFG() and friends.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23765 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-17add a trivial foldChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23764 91177308-0d34-0410-b5e6-96231b3b80d8