- Jul 11, 2008
-
-
Dan Gohman authored
llvm-svn: 53471
-
Duncan Sands authored
be no need to split the result of a vector RET node, since they are always already legal. llvm-svn: 53462
-
Duncan Sands authored
SINT_TO_FP libcall plus additional operations: it might as well be a direct UINT_TO_FP libcall. So only turn it into an SINT_TO_FP if the target has special handling for SINT_TO_FP. llvm-svn: 53461
-
Duncan Sands authored
llvm-svn: 53460
-
Duncan Sands authored
was presumably added after the rest of the code was copied to LegalizeTypes. llvm-svn: 53459
-
Duncan Sands authored
on 16 bit machines. llvm-svn: 53458
-
Chris Lattner authored
when working on legalizetypes. Both legalizetypes and legalizeops now produce hte same code for CodeGen/ARM/fcopysign.ll. llvm-svn: 53435
-
Chris Lattner authored
llvm-svn: 53434
-
- Jul 10, 2008
-
-
Duncan Sands authored
Lack of these caused a bootstrap failure with Fortran on x86-64 with LegalizeTypes turned on. While there, be nice to 16 bit machines and support expansion of i32 too. llvm-svn: 53408
-
Duncan Sands authored
Be nice to 16 bit machines by supporting FP_TO_XINT expansion for these. llvm-svn: 53407
-
Duncan Sands authored
llvm-svn: 53406
-
Duncan Sands authored
was doing there: FP_ROUND returns a float, not an integer. llvm-svn: 53405
-
Duncan Sands authored
in CreateStackStoreLoad is good enough for both the source and destination types. llvm-svn: 53404
-
Duncan Sands authored
llvm-svn: 53403
-
Duncan Sands authored
a ginormous value (eg: i128 -1). llvm-svn: 53402
-
Dan Gohman authored
makes their special-case checks of use_size() less beneficial, so remove them. This eliminates all but one use of use_size(), which is in AssignTopologicalOrder, which uses it only once for each node, and so can reasonably afford to recompute it, as this allows the UsesSize field of SDNode to be removed altogether. llvm-svn: 53377
-
Dan Gohman authored
of examining every operand of every user. llvm-svn: 53374
-
Dan Gohman authored
getMemOperand function to be moved into the base class as well and made non-virtual. llvm-svn: 53372
-
- Jul 09, 2008
-
-
Dan Gohman authored
class, and store IsVolatile and Alignment in a more compact form. This makes AtomicSDNode slightly larger, but it shrinks LoadSDNode and StoreSDNode, which are much more common and are the largest of the SDNode subclasses. Also, this lets the isVolatile() and getAlignment() accessors be non-virtual. llvm-svn: 53361
-
Duncan Sands authored
llvm-svn: 53289
-
Duncan Sands authored
SINT_TO_FP and UINT_TO_FP. This now produces the same code as LegalizeDAG (the previous code was based on a mistaken idea of what LegalizeDAG did in this case). llvm-svn: 53288
-
Duncan Sands authored
loads. llvm-svn: 53287
-
Duncan Sands authored
FP_TO_UINT. llvm-svn: 53286
-
Duncan Sands authored
llvm-svn: 53285
-
Duncan Sands authored
note since it is not clear whether it is correct. llvm-svn: 53284
-
Evan Cheng authored
llvm-svn: 53281
-
Dan Gohman authored
llvm-svn: 53264
-
Dan Gohman authored
available to getAtomic in addition to just getLoad and getStore, to prevent MachineMemOperands with 0 alignment. llvm-svn: 53261
-
- Jul 08, 2008
-
-
Evan Cheng authored
Do not CSE DEBUG_LOC, DBG_LABEL, DBG_STOPPOINT, DECLARE, and EH_LABEL SDNode's. This improves compile time slightly at -O0 -g. llvm-svn: 53246
-
Duncan Sands authored
soft float: experiments show that targets aren't expecting this for results or for operands. Add support select/select_cc result soft float and correct operand soft float for these. llvm-svn: 53245
-
Duncan Sands authored
in LegalizeTypes. llvm-svn: 53244
-
Duncan Sands authored
soft float. llvm-svn: 53231
-
Dan Gohman authored
MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212
-
Dan Gohman authored
and reused across SelectionDAGs. This drastically reduces the number of calls to malloc/free made during instruction selection, and improves memory locality. llvm-svn: 53211
-
- Jul 07, 2008
-
-
Dan Gohman authored
properly track dead nodes that are on the original SDNode's operand list but not the new one, and have no other uses. llvm-svn: 53201
-
Dan Gohman authored
simple const SDOperand*, which is what's usually needed. For AddNodeIDOperands, which is small, just duplicate the function to accept an SDUse*. For SelectionDAG::getNode - Add an overload that accepts SDUse* that copies the operands into a temporary SDOperand array, but also has special-case checks for 0 through 3 operands to avoid the copy in the common cases. llvm-svn: 53183
-
Dan Gohman authored
llvm-svn: 53179
-
Dan Gohman authored
llvm-svn: 53177
-
Evan Cheng authored
llvm-svn: 53169
-
Duncan Sands authored
float value. llvm-svn: 53165
-