- Oct 20, 2008
-
-
Evan Cheng authored
llvm-svn: 57847
-
Dan Gohman authored
llvm-svn: 57845
-
Evan Cheng authored
llvm-svn: 57844
-
Duncan Sands authored
result type when the result type is legal but not the operand type. Add additional support for EXTRACT_SUBVECTOR and CONCAT_VECTORS, needed to handle such cases. llvm-svn: 57840
-
Duncan Sands authored
llvm-svn: 57838
-
Duncan Sands authored
with TLI.getPointerTy for a small simplification. llvm-svn: 57837
-
Duncan Sands authored
the condition of a SELECT node. Make sure that the correct extension type (any-, sign- or zero-extend) is used. llvm-svn: 57836
-
Duncan Sands authored
llvm-svn: 57834
-
Duncan Sands authored
use an MVT::i1 and simplify the code while there. llvm-svn: 57833
-
- Oct 19, 2008
-
-
Bill Wendling authored
be either deleted or referenced afterwards. llvm-svn: 57786
-
Bill Wendling authored
llvm-svn: 57785
-
Duncan Sands authored
this everywhere in LegalizeTypes. llvm-svn: 57783
-
Duncan Sands authored
elements. Otherwise LegalizeTypes will, reasonably enough, legalize the mask, which may result in it no longer being a BUILD_VECTOR node (LegalizeDAG simply ignores the legality or not of vector masks). llvm-svn: 57782
-
- Oct 18, 2008
-
-
Chris Lattner authored
the previous patch this one actually passes make check. "Fix PR2356 on PowerPC: if we have an input and output that are tied together that have different sizes (e.g. i32 and i64) make sure to reserve registers for the bigger operand." llvm-svn: 57771
-
Dan Gohman authored
llvm-svn: 57770
-
Evan Cheng authored
llvm-svn: 57766
-
Evan Cheng authored
llvm-svn: 57765
-
Dan Gohman authored
and add a TargetLowering hook for it to use to determine when this is legal (i.e. not in PIC mode, etc.) This allows instruction selection to emit folded constant offsets in more cases, such as the included testcase, eliminating the need for explicit arithmetic instructions. This eliminates the need for the C++ code in X86ISelDAGToDAG.cpp that attempted to achieve the same effect, but wasn't as effective. Also, fix handling of offsets in GlobalAddressSDNodes in several places, including changing GlobalAddressSDNode's offset from int to int64_t. The Mips, Alpha, Sparc, and CellSPU targets appear to be unaware of GlobalAddress offsets currently, so set the hook to false on those targets. llvm-svn: 57748
-
Dan Gohman authored
test/CodeGen/X86/2008-09-17-inline-asm-1.ll and a few others, and it breaks the llvm-gcc build. llvm-svn: 57747
-
- Oct 17, 2008
-
-
Dan Gohman authored
ISD condition opcodes into helper functions. llvm-svn: 57726
-
Evan Cheng authored
Patch by Lang Hames! llvm-svn: 57720
-
Chris Lattner authored
llvm-svn: 57715
-
Bill Wendling authored
have an unreachable block in a function. This was triggering the assert. This is a horrid hack to cover this up. Oh! for a good debug info architecture! llvm-svn: 57714
-
Mon P Wang authored
touches memory and need an associated MemOperand llvm-svn: 57712
-
Dan Gohman authored
ISD condition opcodes into helper functions. llvm-svn: 57710
-
Chris Lattner authored
that have different sizes (e.g. i32 and i64) make sure to reserve registers for the bigger operand. llvm-svn: 57699
-
Chris Lattner authored
llvm-svn: 57690
-
Chris Lattner authored
constraint. Reject asms where an output has multiple input constraints tied to it. llvm-svn: 57687
-
Chris Lattner authored
array. Improve some minor comments, refactor some helpers in AsmOperandInfo. No functionality change for valid code. llvm-svn: 57686
-
Evan Cheng authored
llvm-svn: 57673
-
Dan Gohman authored
shift counts, and patterns that match dynamic shift counts when the subtract is obscured by a truncate node. Add DAGCombiner support for recognizing rotate patterns when the shift counts are defined by truncate nodes. Fix and simplify the code for commuting shld and shrd instructions to work even when the given instruction doesn't have a parent, and when the caller needs a new instruction. These changes allow LLVM to use the shld, shrd, rol, and ror instructions on x86 to replace equivalent code using two shifts and an or in many more cases. llvm-svn: 57662
-
- Oct 16, 2008
-
-
Dan Gohman authored
llvm-svn: 57618
-
Dan Gohman authored
because it declares a std::vector<MachineMove>, and strict concept checking requires the definition of MachineMove to be available. llvm-svn: 57617
-
Dan Gohman authored
computation. A def of a register doesn't necessarily kill live super-registers. llvm-svn: 57614
-
- Oct 15, 2008
-
-
Dan Gohman authored
with other debug messages. llvm-svn: 57543
-
Evan Cheng authored
i.e. conditions that cannot be checked with a single instruction. For example, SETONE and SETUEQ on x86. - Teach legalizer to implement *illegal* setcc as a and / or of a number of legal setcc nodes. For now, only implement FP conditions. e.g. SETONE is implemented as SETO & SETNE, SETUEQ is SETUO | SETEQ. - Move x86 target over. llvm-svn: 57542
-
Dan Gohman authored
- Move the EH landing-pad code and adjust it so that it works with FastISel as well as with SDISel. - Add FastISel support for @llvm.eh.exception and @llvm.eh.selector. llvm-svn: 57539
-
- Oct 14, 2008
-
-
Evan Cheng authored
llvm-svn: 57526
-
Dan Gohman authored
instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
-
- Oct 13, 2008
-
-
Evan Cheng authored
FIX PR2794. Make sure SIGN_EXTEND_INREG nodes introduced by LegalizeSetCCOperands are leglized. Patch by Richard Pennington. llvm-svn: 57460
-