- Jun 03, 2008
-
-
Scott Michel authored
issue is operand promotion for setcc/select... but looks like the fundamental stuff is implemented for CellSPU. llvm-svn: 51884
-
- Jun 02, 2008
-
-
Dan Gohman authored
and insertvalue and extractvalue instructions. First-class array values are not trivial because C doesn't support them. The approach I took here is to wrap all arrays in structs. Feedback is welcome. The 2007-01-15-NamedArrayType.ll test needed to be modified because it has a "not grep" for a string that now exists, because array types now have associated struct types, and those struct types have names. llvm-svn: 51881
-
Rafael Espindola authored
llvm-svn: 51865
-
- Jun 01, 2008
-
-
Bruno Cardoso Lopes authored
llvm-svn: 51833
-
- May 31, 2008
-
-
Nick Lewycky authored
llvm-svn: 51819
-
Nick Lewycky authored
llvm-svn: 51818
-
Chris Lattner authored
we did not truncate the value down to i1 with (x&1). This caused a problem when the computation of x was nontrivial, for example, "add i1 1, 1" would return 2 instead of 0. This makes the testcase compile into: ... llvm_cbe_t = (((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u))&1); llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t)); ... instead of: ... llvm_cbe_t = ((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u)); llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t)); ... This fixes a miscompilation of mediabench/adpcm/rawdaudio/rawdaudio and 403.gcc with the CBE, regressions from LLVM 2.2. Tanya, please pull this into the release branch. llvm-svn: 51813
-
Dan Gohman authored
index for the input pattern in terms of the output pattern. Instead keep track of how many fixed operands the input pattern actually has, and have the input matching code pass the output-emitting function that index value. This simplifies the code, disentangles variables_ops from the support for predication operations, and makes variable_ops more robust. llvm-svn: 51808
-
Evan Cheng authored
llvm-svn: 51792
-
- May 30, 2008
-
-
Bill Wendling authored
llvm-svn: 51761
-
- May 29, 2008
-
-
Dan Gohman authored
cases due to an isel deficiency already noted in lib/Target/X86/README.txt, but they can be matched in this fold-call.ll testcase, for example. This is interesting mainly because it exposes a tricky tblgen bug; tblgen was incorrectly computing the starting index for variable_ops in the case of a complex pattern. llvm-svn: 51706
-
Bill Wendling authored
function to flush a specified std::ostream. llvm-svn: 51705
-
Dan Gohman authored
definitions. This adds a new construct, "discard", for indicating that a named node in the input matching pattern is to be discarded, instead of corresponding to a node in the output pattern. This allows tblgen to know where the arguments for the varaible_ops are supposed to begin. This fixes "rdar://5791600", whatever that is ;-). llvm-svn: 51699
-
Dan Gohman authored
memmove to a more plausible value, now that it's actually being used. llvm-svn: 51696
-
Evan Cheng authored
llvm-svn: 51667
-
Bill Wendling authored
llvm-svn: 51664
-
Bill Wendling authored
like. llvm-svn: 51662
-
Bill Wendling authored
instruction to execute. This can be used for transformations (like two-address conversion) to remat an instruction instead of generating a "move" instruction. The idea is to decrease the live ranges and register pressure and all that jazz. llvm-svn: 51660
-
- May 28, 2008
-
-
Nate Begeman authored
llvm-svn: 51644
-
Chris Lattner authored
llvm-svn: 51635
-
Chris Lattner authored
llvm-svn: 51634
-
Chris Lattner authored
on ia64. llvm-svn: 51633
-
Chris Lattner authored
llvm-svn: 51632
-
Chris Lattner authored
llvm-svn: 51631
-
Dan Gohman authored
llvm-svn: 51630
-
Mon P Wang authored
is a memory location llvm-svn: 51626
-
Nate Begeman authored
code generator would do something like this: f64 = load f32 <anyext>, f32mem v2f64 = insertelt undef, %0, 0 v2f64 = insertelt %1, 0.0, 1 into v2f64 = vzext_load f32mem which on x86 is movsd, when you really wanted a cvtss2sd/movsd pair. llvm-svn: 51624
-
- May 27, 2008
-
-
Duncan Sands authored
llvm-svn: 51591
-
- May 24, 2008
-
-
Chris Lattner authored
llvm-svn: 51538
-
Evan Cheng authored
llvm-svn: 51533
-
Evan Cheng authored
Eliminate x86.sse2.movs.d, x86.sse2.shuf.pd, x86.sse2.unpckh.pd, and x86.sse2.unpckl.pd intrinsics. These will be lowered into shuffles. llvm-svn: 51531
-
Duncan Sands authored
so that gcc doesn't warn about them. llvm-svn: 51529
-
Dale Johannesen authored
sections on ppc32 darwin. g++.dg/abi/key2.C llvm-svn: 51527
-
Evan Cheng authored
llvm-svn: 51526
-
Evan Cheng authored
Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into load and shuffle instructions. llvm-svn: 51522
-
- May 23, 2008
-
-
Dale Johannesen authored
llvm-svn: 51503
-
Evan Cheng authored
llvm-svn: 51501
-
Dan Gohman authored
llvm-svn: 51491
-
Evan Cheng authored
llvm-svn: 51490
-
Dan Gohman authored
load-folding table entries for PMULDQ and PMULLD. llvm-svn: 51489
-