- Aug 29, 2008
-
-
Dan Gohman authored
llvm-svn: 55512
-
Gabor Greif authored
llvm-svn: 55511
-
- Aug 28, 2008
-
-
Gabor Greif authored
llvm-svn: 55504
-
Mon P Wang authored
In lowering SELECT_CC, removed cases where we can't flip the true and false when the compare value has a NaN llvm-svn: 55499
-
Rafael Espindola authored
llvm-svn: 55486
-
Dale Johannesen authored
llvm-svn: 55478
-
Evan Cheng authored
llvm-svn: 55466
-
Dale Johannesen authored
ATOMIC_LOAD_ADD_{8,16,32,64} instead of ATOMIC_LOAD_ADD. Increased the Hardcoded Constant OpActionsCapacity to match. Large but boring; no functional change. This is to support partial-word atomics on ppc; i8 is not a valid type there, so by the time we get to lowering, the ATOMIC_LOAD nodes looks the same whether the type was i8 or i32. The information can be added to the AtomicSDNode, but that is the largest SDNode; I don't fully understand the SDNode allocation, but it is sensitive to the largest node size, so increasing that must be bad. This is the alternative. llvm-svn: 55457
-
- Aug 27, 2008
-
-
Bill Wendling authored
SSE2 registers as well as the MMX registers. llvm-svn: 55436
-
Dan Gohman authored
64-bit registers from 16-bit and smaller memory locations, prefer instructions that define the entire 64-bit register, to avoid partial-register updates. llvm-svn: 55422
-
Gabor Greif authored
llvm-svn: 55394
-
- Aug 26, 2008
-
-
Owen Anderson authored
llvm-svn: 55377
-
Owen Anderson authored
was inserted or not. This allows bitcast in fast isel to properly handle the case where an appropriate reg-to-reg copy is not available. llvm-svn: 55375
-
Chris Lattner authored
assign it to a version of the xmm register with the regclass that matches its type. This fixes PR2715, a bug handling some crazy xpcom case in mozilla. llvm-svn: 55358
-
Evan Cheng authored
llvm-svn: 55348
-
Dale Johannesen authored
binary primitives. llvm-svn: 55343
-
- Aug 25, 2008
-
-
Evan Cheng authored
llvm-svn: 55341
-
Evan Cheng authored
Try approach to moving call address load inside of callseq_start. Now it's done during the preprocess of x86 isel. callseq_start's chain is changed to load's chain node; while load's chain is the last of callseq_start or the loads or copytoreg nodes inserted to move arguments to the right spot. llvm-svn: 55338
-
Dale Johannesen authored
generic stuff works fine. Mark rewritten cmp-and-swap as not using CR1. llvm-svn: 55336
-
Dale Johannesen authored
loads and stores but it's even more important for it to store the right value.:( llvm-svn: 55319
-
Bill Wendling authored
llvm-svn: 55318
-
Bill Wendling authored
instructions on having SSE2. llvm-svn: 55317
-
Evan Cheng authored
llvm-svn: 55300
-
- Aug 24, 2008
-
-
Bill Wendling authored
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc ... src/libiberty/make-temp-file.c -o make-temp-file.o Assertion failed: (Node2Index[SU->NodeNum] > Node2Index[I->Dep->NodeNum] && "Wrong topological sorting"), function InitDAGTopologicalSorting, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp, line 508. ../../../../llvm-gcc.src/libiberty/hashtab.c:955: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[4]: *** [hashtab.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [multi-do] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-target-libiberty] Error 2 make: *** [all] Error 2 llvm-svn: 55295
-
Evan Cheng authored
llvm-svn: 55292
-
Cedric Venet authored
Suggested by aKor. llvm-svn: 55282
-
Chris Lattner authored
use raw_ostream instead of std::ostream. Among other goodness, this speeds up llvm-dis of kc++ with a release build from 0.85s to 0.49s (88% faster). Other interesting changes: 1) This makes Value::print be non-virtual. 2) AP[S]Int and ConstantRange can no longer print to ostream directly, use raw_ostream instead. 3) This fixes a bug in raw_os_ostream where it didn't flush itself when destroyed. 4) This adds a new SDNode::print method, instead of only allowing "dump". A lot of APIs have both std::ostream and raw_ostream versions, it would be useful to go through and systematically anihilate the std::ostream versions. This passes dejagnu, but there may be minor fallout, plz let me know if so and I'll fix it. llvm-svn: 55263
-
- Aug 23, 2008
-
-
Anton Korobeynikov authored
Is there way to avoid explicit target check? llvm-svn: 55238
-
Dan Gohman authored
process up to a higher level. This allows FastISel to leverage more of SelectionDAGISel's infastructure, such as updating Machine PHI nodes. Also, implement transitioning from SDISel back to FastISel in the middle of a block, so it's now possible to go back and forth. This allows FastISel to hand individual CallInsts and other complicated things off to SDISel to handle, while handling the rest of the block itself. To help support this, reorganize the SelectionDAG class so that it is allocated once and reused throughout a function, instead of being completely reallocated for each block. llvm-svn: 55219
-
- Aug 22, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 55203
-
Bill Wendling authored
{standard input}:17:bad register name `%sil' make[4]: *** [libgcc/./_addvsi3.o] Error 1 make[4]: *** Waiting for unfinished jobs.... {standard input}:23:bad register name `%dil' {standard input}:28:bad register name `%dil' make[4]: *** [libgcc/./_addvdi3.o] Error 1 {standard input}:18:bad register name `%sil' make[4]: *** [libgcc/./_subvsi3.o] Error 1 llvm-svn: 55200
-
Dan Gohman authored
instructions that define the full 32 or 64-bit value. When anyexting from i8 to i16 or i32, it's not necessary to zero out the high portion of the register. llvm-svn: 55190
-
Dale Johannesen authored
llvm-svn: 55186
-
Dale Johannesen authored
so that lwarx and stwcx are always executed the same number of times. This is important for performance, I'm told. llvm-svn: 55163
-
Dan Gohman authored
and use it in FastISelEmitter.cpp, and make FastISel subtarget aware. Among other things, this lets it work properly on x86 targets that don't have SSE, where it successfully selects x87 instructions. llvm-svn: 55156
-
Bill Wendling authored
llvm-svn: 55147
-
Bill Wendling authored
llvm-svn: 55146
-
- Aug 21, 2008
-
-
Evan Cheng authored
1. x86-64 byval alignment should be max of 8 and alignment of type. Previously the code was not doing what the commit message was saying. 2. Do not use byte repeat move and store operations. These are slow. llvm-svn: 55139
-
Mon P Wang authored
llvm-svn: 55135
-
Dan Gohman authored
llvm-svn: 55130
-