- Dec 17, 2008
-
-
Dan Gohman authored
Depth and Height members directly, as they may not be current. llvm-svn: 61121
-
Eli Friedman authored
DAGTypeLegalizer::ExpandShiftWithKnownAmountBit. In terms of restoring the optimization, the best fix here isn't obvious... any ideas? llvm-svn: 61119
-
- Dec 16, 2008
-
-
Dale Johannesen authored
are there under ADD, this one was missing. llvm-svn: 61107
-
Owen Anderson authored
Add code to renumber split intervals into new vregs. This is disabled for now until I finish working out some iterator invalidation issues. llvm-svn: 61104
-
Dan Gohman authored
position in the critical path during the main instruction walk. This eliminates the need for the CritialAntiDep DenseMap. llvm-svn: 61096
-
Dan Gohman authored
different offsets within the same stack slot. llvm-svn: 61093
-
Evan Cheng authored
We have decided not to support inline asm where an output operand with a matching input operand with incompatible type (i.e. either one is a floating point and the other is an integer or the sizes of the types differ). SelectionDAGBuild will catch these and exit with an error. llvm-svn: 61092
-
Dan Gohman authored
llvm-svn: 61078
-
Dan Gohman authored
one of its aliases defined. This is conservative, but tricky subreg corner cases are outside the primary aim of this pass. llvm-svn: 61077
-
Dan Gohman authored
especially in the case of addresses computed from loop induction variables. llvm-svn: 61075
-
Dan Gohman authored
latency computation code that is no longer needed with the new method for handling latencies. llvm-svn: 61074
-
Dan Gohman authored
computation code. Also, avoid adding output-depenency edges when both defs are dead, which frequently happens with EFLAGS defs. Compute Depth and Height lazily, and always in terms of edge latency values. For the schedulers that don't care about latency, edge latencies are set to 1. Eliminate Cycle and CycleBound, and LatencyPriorityQueue's Latencies array. These are all subsumed by the Depth and Height fields. llvm-svn: 61073
-
Dan Gohman authored
instruction itinerary data to back-schedule loads. llvm-svn: 61070
-
Dan Gohman authored
llvm-svn: 61067
-
Dan Gohman authored
currently used by anything. llvm-svn: 61066
-
Dan Gohman authored
llvm-svn: 61065
-
- Dec 15, 2008
-
-
Mon P Wang authored
llvm-svn: 61050
-
Dan Gohman authored
llvm-svn: 61036
-
Mon P Wang authored
and insert vector element. Modified extract vector element to extend the result to match the expected promoted type. llvm-svn: 61029
-
- Dec 14, 2008
-
-
Duncan Sands authored
target constants are allowed to have an illegal type. llvm-svn: 61006
-
Bill Wendling authored
Running /Users/void/llvm/llvm.src/test/CodeGen/Generic/dg.exp ... FAIL: /Users/void/llvm/llvm.src/test/CodeGen/Generic/asm-large-immediate.ll Failed with exit(1) at line 1 while running: llvm-as < /Users/void/llvm/llvm.src/test/CodeGen/Generic/asm-large-immediate.ll | llc | /usr/bin/grep 68719476738 Assertion failed: ((TypesNeedLegalizing || getTypeAction(VT) == Legal) && "Illegal type introduced after type legalization?"), function HandleOp, file /Users/void/llvm/llvm.src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp, line 493. 0 llc 0x0085392e char const* std::find<char const*, char>(char const*, char const*, char const&) + 98 1 llc 0x00853e63 llvm::sys::PrintStackTraceOnErrorSignal() + 593 2 libSystem.B.dylib 0x96cac09b _sigtramp + 43 3 libSystem.B.dylib 0xffffffff _sigtramp + 1765097359 4 libSystem.B.dylib 0x96d24ec2 raise + 26 5 libSystem.B.dylib 0x96d3447f abort + 73 6 libSystem.B.dylib 0x96d26063 __assert_rtn + 101 7 llc 0x004f9018 llvm::cast_retty<llvm::SubprogramDesc, llvm::DebugInfoDesc*>::ret_type llvm::cast<llvm::Sub ... llvm-svn: 61001
-
- Dec 13, 2008
-
-
Duncan Sands authored
types into the DAG if they were not already there. Check this with an assertion. llvm-svn: 60997
-
Mon P Wang authored
llvm-svn: 60975
-
Mon P Wang authored
llvm-svn: 60974
-
Duncan Sands authored
width register load followed by a truncating store for the copy, since the load will not place the value in the lower bits. Probably partial loads/stores can never happen here, but fix it anyway. llvm-svn: 60972
-
- Dec 12, 2008
-
-
Devang Patel authored
llvm-svn: 60965
-
Duncan Sands authored
use of illegal integer types: instead, use a stack slot and copying via integer registers. The existing code is still used if the bitconvert is to a legal integer type. This fires on the PPC testcases 2007-09-08-unaligned.ll and vec_misaligned.ll. It looks like equivalent code is generated with these changes, just permuted, but it's hard to tell. With these changes, nothing in LegalizeDAG produces illegal integer types anymore. This is a prerequisite for removing the LegalizeDAG type legalization code. While there I noticed that the existing code doesn't handle trunc store of f64 to f32: it turns this into an i64 store, which represents a 4 byte stack smash. I added a FIXME about this. Hopefully someone more motivated than I am will take care of it. llvm-svn: 60964
-
Evan Cheng authored
Fix add/sub expansion: don't create ADD / SUB with two results (seems like everyone is doing this these days :-). Patch by Daniel M Gessel! llvm-svn: 60958
-
Duncan Sands authored
do an extending load of the 4 bytes rather than a potentially illegal (type) i32 load followed by a sign extend. llvm-svn: 60945
-
Mon P Wang authored
Added support for TRUNC v8i16 to v8i8 for X86 (MMX) llvm-svn: 60916
-
Bill Wendling authored
ISD::ADD to emit an implicit EFLAGS. This was horribly broken. Instead, replace the intrinsic with an ISD::SADDO node. Then custom lower that into an X86ISD::ADD node with a associated SETCC that checks the correct condition code (overflow or carry). Then that gets lowered into the correct X86::ADDOvf instruction. Similar for SUB and MUL instructions. llvm-svn: 60915
-
- Dec 11, 2008
-
-
Mon P Wang authored
llvm-svn: 60869
-
Bill Wendling authored
llvm-svn: 60867
-
Mon P Wang authored
llvm-svn: 60866
-
Mon P Wang authored
vec_extract-sse4.ll. llvm-svn: 60865
-
Bill Wendling authored
llvm-svn: 60861
-
- Dec 10, 2008
-
-
Bill Wendling authored
them. The DAG combiner expects that nodes that are transformed have one value result. llvm-svn: 60857
-
Duncan Sands authored
for promoted integer types, eg: i16 on ppc-32, or i24 on any platform. Complete support for arbitrary precision integers would require handling expanded integer types, eg: i128, but I couldn't be bothered. llvm-svn: 60834
-
Mon P Wang authored
bit convert that changes the number of elements of a shuffle. llvm-svn: 60829
-
Evan Cheng authored
Fix MachineCodeEmitter to use uintptr_t instead of intptr_t. This avoids some overflow issues. Patch by Thomas Jablin. llvm-svn: 60828
-