summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* move code around and improve indentation, no functionality change.Chris Lattner2010-03-291-126/+124
| | | | llvm-svn: 99831
* Remove a bunch of integer width predicate functions in favor of MathExtras.Benjamin Kramer2010-03-294-139/+11
| | | | | | | Most of these were unused, some of them were wrong and unused (isS16Constant<short>, isS10Constant<short>). llvm-svn: 99827
* From Kalle Raiskila:Chris Lattner2010-03-294-14/+158
| | | | | | | | "the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions: -in vararg handling, registers are marked to be live, to not confuse the register scavenger -function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the register scavenger emergency spill slot, which is not used as there is no stack." llvm-svn: 99819
* add support for zero initialized unions, patch by Tim Northover!Chris Lattner2010-03-291-1/+3
| | | | llvm-svn: 99818
* Refactor code to push DILocation prcessing into DwarfDebug.cpp from ↵Devang Patel2010-03-294-37/+54
| | | | | | | | AsmPrinter.cpp. This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions. llvm-svn: 99816
* add a note.Chris Lattner2010-03-291-0/+3
| | | | llvm-svn: 99815
* Add NVTBLFrm to represent A8.6.406 VTBL, VTBX Vector Table Lookup Instructions.Johnny Chen2010-03-292-8/+9
| | | | | | | | | | | | | These instructions use byte index in a control vector (M:Vm) to lookup byte values in a table and generate a new vector (D:Vd). The table is specified via a list of vectors, which can be: {Dn} {Dn D<n+1>} {Dn D<n+1> D<n+2>} {Dn D<n+1> D<n+2> D<n+3>} llvm-svn: 99789
* Revert 99772.Devang Patel2010-03-284-45/+37
| | | | llvm-svn: 99778
* add a statistic for the # times isel has to backtrack.Chris Lattner2010-03-281-1/+3
| | | | llvm-svn: 99774
* Refactoring. Push DILocation processing in to DwarfDebug from AsmPrinter.Devang Patel2010-03-284-37/+45
| | | | llvm-svn: 99772
* zap an extra line that Eli noticed!Chris Lattner2010-03-281-1/+0
| | | | llvm-svn: 99770
* Properly quote the quotes :) during cmdline construction on Windows.Anton Korobeynikov2010-03-281-6/+28
| | | | | | | | | Otherwise, e.g. in the invocation like clang -DFOO=\"bar\" FOO macro got the bar value, not "bar". Patch by Alexander Esilevich! llvm-svn: 99763
* fix a type contradition: XCoreISD::RETSP has one argument, not zero.Chris Lattner2010-03-281-1/+1
| | | | llvm-svn: 99760
* finally remove the immAllOnesV_bc/immAllZerosV_bc patternsChris Lattner2010-03-281-1/+1
| | | | | | | | | | and those derived from them. These are obnoxious because they were written as: PatLeaf<(bitconvert). Not having an argument was foiling adding better type checking for operand count matching up with what was required (in this case, bitconvert always requires an operand!) llvm-svn: 99759
* remove a pattern with no testcase that doesn't appear to be Chris Lattner2010-03-281-2/+0
| | | | | | matchable: it seems like it would always constant fold. llvm-svn: 99758
* fix integer negates to use the proper type for the zero vectors,Chris Lattner2010-03-281-11/+14
| | | | | | | this also depends on the new "bitconvert dropping" behavior just added to tblgen. llvm-svn: 99757
* fix a typo, bitconvert from node to itself isn't valid.Chris Lattner2010-03-281-1/+1
| | | | llvm-svn: 99755
* fix vnot matching to explicitly specify the type of theChris Lattner2010-03-281-10/+16
| | | | | | | | | input to be v8i8 or v16i8, which buildvectors get canonicalized to. This allows the patterns that were previously using a bare 'vnot' to match, before they couldn't. llvm-svn: 99754
* fix up vnot matching, eliminating a dead pattern, correcting a couple ofChris Lattner2010-03-281-6/+11
| | | | | | | patterns that would never match because of bitcast, and eliminating use of vnot_conv. llvm-svn: 99753
* stop using vnot_convChris Lattner2010-03-281-3/+8
| | | | llvm-svn: 99750
* revert r99743, this is saying that the repmovs instructinos have anChris Lattner2010-03-281-2/+4
| | | | | | *input* of other type, which is the VT. llvm-svn: 99749
* remove a bunch of dead patterns.Chris Lattner2010-03-281-13/+0
| | | | llvm-svn: 99748
* claiming to return other is pointless.Chris Lattner2010-03-281-4/+2
| | | | llvm-svn: 99743
* comply with the wishes of a fixme.Chris Lattner2010-03-281-3/+0
| | | | llvm-svn: 99742
* now that (parallel) is gone and a variety of bugs in targetsChris Lattner2010-03-281-8/+4
| | | | | | are cleaned up, we can remove an old fixme. llvm-svn: 99741
* add an optimized form of OPC_EmitMergeInputChains for the 1, 0 and Chris Lattner2010-03-281-0/+29
| | | | | | | 1, 1 cases which are by-far the most frequent. This shrinks the X86 isel table from 77014 -> 74657 bytes. llvm-svn: 99740
* don't add nodes to the now-dead nodes list multiple times, thisChris Lattner2010-03-281-2/+3
| | | | | | | can cause a crash on crazy situations in msp430 when morph-node-to is disabled. llvm-svn: 99739
* Improve systemz to model cmp and ucmp nodes as returningChris Lattner2010-03-282-43/+33
| | | | | | their flags correctly. llvm-svn: 99738
* the FPCmp node returns an i32.Chris Lattner2010-03-281-6/+8
| | | | llvm-svn: 99737
* fix some modelling problems exposed by a patch I'm working on. bsr/bsf/ptestChris Lattner2010-03-283-26/+21
| | | | | | nodes all have an EFLAGS result when made by isel lowering. llvm-svn: 99736
* don't add flag nodes with chain results to the NowDeadNodesChris Lattner2010-03-281-2/+3
| | | | | | list multiple times when MorphNodeTo can't be applied. llvm-svn: 99735
* Oops, r98447 dropped the reference to ForwardType in the wrong place inJeffrey Yasskin2010-03-281-5/+5
| | | | | | | | Type::destroy(), so it got skipped for FunctionTypes, StructTypes, and UnionTypes. This fixes the resulting leaks in test/Feature/opaquetypes.ll and test/Integer/opaquetypes_bt.ll. llvm-svn: 99732
* improve -debug-only=isel comments for cases when we don't enter aChris Lattner2010-03-271-4/+8
| | | | | | scope due to obviously false predicate. llvm-svn: 99723
* Remove another memory leak from ABCD by using Edges by value instead ofJeffrey Yasskin2010-03-271-29/+21
| | | | | | | pointer. There was also a SmallPtrSet whose settiness wasn't being used, so I changed it to a SmallVector. llvm-svn: 99713
* In ABCD, change the non-null Bound*s to Bound&s.Jeffrey Yasskin2010-03-271-79/+74
| | | | llvm-svn: 99711
* Fix a memory leak in ABCD by giving ownership of Bound objects to theJeffrey Yasskin2010-03-271-68/+76
| | | | | | MemoizedResultChart. llvm-svn: 99710
* Avoid leaking the memory allocated for GlobalVariables in the interpreter, byJeffrey Yasskin2010-03-271-3/+32
| | | | | | freeing that memory when the GV is destroyed. llvm-svn: 99706
* Fix indentation.Bob Wilson2010-03-271-34/+34
| | | | llvm-svn: 99705
* Add a format argument to the N3V and N3VX classes, removing the N3Vf class.Bob Wilson2010-03-272-198/+198
| | | | llvm-svn: 99704
* eliminate the last of the parallel's!Chris Lattner2010-03-272-173/+102
| | | | llvm-svn: 99700
* When we promote a load of an argument make sure to take the alignmentEric Christopher2010-03-271-1/+5
| | | | | | | of the previous load - it's usually important. For example, we don't want to blindly turn an unaligned load into an aligned one. llvm-svn: 99699
* Forgot the part where we handle the ".llvm.eh.catch.all.value".Bill Wendling2010-03-271-2/+11
| | | | llvm-svn: 99697
* Return if we changed anything or not.Bill Wendling2010-03-271-11/+9
| | | | llvm-svn: 99695
* If a selector has a call to ".llvm.eh.catch.all.value" that we haven'tBill Wendling2010-03-271-8/+38
| | | | | | converted, then use the initializer, since using the name itself won't work. llvm-svn: 99692
* Add NVMulSLFrm to represent "3-register multiply with scalar" operations and setJohnny Chen2010-03-272-122/+130
| | | | | | | | | | | | it as the format for the appropriate N3V*SL*<> classes. These instructions require special handling of the M:Vm field which encodes the restricted Dm and the lane index within Dm. Examples are A8.6.325 VMLA, VMLAL, VMLS, VMLSL (by scalar): vmlal.s32 q3, d2, d10[0] llvm-svn: 99690
* eliminate almost all the rest of the x86-32 parallels.Chris Lattner2010-03-271-157/+116
| | | | llvm-svn: 99686
* Thumb2 storeFrom/LoadToStackSlot() need to handle tGPR regs directly, not passJim Grosbach2010-03-271-2/+2
| | | | | | | through to the generic version. The generic functions use STR/LDR, but T2 needs the t2STR/t2LDR instead so we get the addressing mode correct. llvm-svn: 99678
* improve portability to minix, patch by Chris Lattner2010-03-261-2/+2
| | | | | | Kees van Reeuwijk for PR6704 llvm-svn: 99677
* Remove the duplicate multiclass N3VSh_QHSD and use N3VInt_QHSD which is modifiedJohnny Chen2010-03-261-193/+154
| | | | | | | to now take a format argument. N3VDInt<> and N3VQInt<> are modified to take a format argument as well. llvm-svn: 99676
* If we mark clean-ups as clean-ups, then it could break when inlining through anBill Wendling2010-03-261-7/+215
| | | | | | | | | | | | | | | | | | | | | | | | | 'invoke' instruction. You will get a situation like this: bb: %ehptr = eh.exception() %sel = eh.selector(%ehptr, @per, 0); ... bb2: invoke _Unwind_Resume_or_Rethrow(%ehptr) %normal unwind to %lpad lpad: ... The unwinder will see the %sel call as a clean-up and, if it doesn't have a catch further up the call stack, it will skip running it. But there *is* another catch up the stack -- the catch for the %lpad. However, we can't see that. This is fixed in code-gen, where we detect this situation, and convert the "clean-up" selector call into a "catch-all" selector call. This gives us the correct semantics. llvm-svn: 99671
OpenPOWER on IntegriCloud