- Oct 26, 2008
-
-
Bill Wendling authored
Patch by Frits van Bommel! llvm-svn: 58175
-
Evan Cheng authored
llvm-svn: 58174
-
- Oct 25, 2008
-
-
Dan Gohman authored
actually correspond to what their names suggest. llvm-svn: 58146
-
Dan Gohman authored
to reflect that. llvm-svn: 58145
-
Dan Gohman authored
target-independent code to target-specific code. This prevents it from running on targets that aren't using fast-isel. In addition to saving compile time, this addresses the problem that not all targets are prepared for it. In order to use this pass, all instructions must declare all their fixed uses and defs of physical registers. llvm-svn: 58144
-
Gordon Henriksen authored
llvm-svn: 58143
-
Nicolas Geoffray authored
variable is moved to the execution engine. The JIT calls the TargetJITInfo to allocate thread local storage. Currently, only linux/x86 knows how to allocate thread local global variables. llvm-svn: 58142
-
Nicolas Geoffray authored
llvm-svn: 58141
-
Oscar Fuentes authored
llvm-svn: 58133
-
Oscar Fuentes authored
llvm-svn: 58130
-
Evan Cheng authored
If val# def is ~0U, meaning it's defined by a PHI, and it's previously split, spill before the barrier because it's impossible to determine if all the defs are spilled in the same spill slot. llvm-svn: 58129
-
Dale Johannesen authored
Prevents some more overzealous deletions (mostly in AltiVec code). llvm-svn: 58121
-
- Oct 24, 2008
-
-
Dale Johannesen authored
be saved/restored in the prolog/epilog. We need to do this iff something in the function stores into it. llvm-svn: 58116
-
Torok Edwin authored
llvm-svn: 58104
-
Torok Edwin authored
llvm-svn: 58103
-
Evan Cheng authored
llvm-svn: 58102
-
Duncan Sands authored
LHS is a foldable load, then LHS and RHS are swapped and SetCCOpcode is changed to SETUGT. But the later code is expecting operands to be the wrong way round for SETUGT, but they are not in this case, resulting in an inverted compare. The solution is to move the load normalization before the correction for SETUGT. This bug was tickled by LegalizeTypes which happened to legalize the testcase slightly differently to LegalizeDAG. llvm-svn: 58092
-
Cedric Venet authored
Modify the cmake build system so that if it doesn't find bison, it will use the pregenerated file in from the svn (.cvs). Work only for windows for the moment. Tested on Vista64 with MSVC2008express. llvm-svn: 58090
-
Nick Lewycky authored
llvm-svn: 58075
-
Evan Cheng authored
llvm-svn: 58072
-
Nick Lewycky authored
Understand that mul %x, 1 = %x. llvm-svn: 58069
-
Evan Cheng authored
llvm-svn: 58068
-
Dan Gohman authored
fixes a bunch of test-suite JIT failures on x86-64 in -relocation-model=static mode. llvm-svn: 58066
-
Dale Johannesen authored
llvm-svn: 58057
-
Ted Kremenek authored
llvm-svn: 58052
-
- Oct 23, 2008
-
-
Evan Cheng authored
Committing a good chunk of the pre-register allocation live interval splitting pass. It's handling simple cases and appear to do good things. Next: avoid splitting an interval multiple times; renumber registers when possible; record stack slot live intervals for coloring; rematerialize defs when possible. llvm-svn: 58044
-
Dale Johannesen authored
Prevents DeadMachineInstructionElim from thinking things like MTCTR are dead (fixes massive testsuite breakage at -O0). llvm-svn: 58043
-
Daniel Dunbar authored
std::ostream API. llvm-svn: 58042
-
Duncan Sands authored
with the result number. llvm-svn: 58041
-
Daniel Dunbar authored
LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. llvm-svn: 58010
-
Jim Grosbach authored
llvm-svn: 58006
-
- Oct 22, 2008
-
-
Daniel Dunbar authored
- The old versions are still hanging around, but should be migrated away from. llvm-svn: 57989
-
Dale Johannesen authored
llvm-svn: 57987
-
Julien Lerouge authored
llvm-svn: 57984
-
Duncan Sands authored
llvm-svn: 57973
-
Duncan Sands authored
assume that i64 has been turned into a BUILD_PAIR node (when called from LegalizeTypes this hasn't happened yet) and don't use a vector shuffle mask with an illegal element type. llvm-svn: 57972
-
Duncan Sands authored
may return i8, which can result in SELECT nodes for which the type of the condition is i8, but there are no patterns for select with i8 condition. Tweak the LegalizeTypes logic to avoid this as much as possible. This isn't a real fix because it is still perfectly possible to end up with such select nodes - CellSPU needs to be fixed IMHO. llvm-svn: 57968
-
Duncan Sands authored
ADDC/ADDE/SUBC/SUBE if the target supports it. llvm-svn: 57967
-
Duncan Sands authored
that is not of type MVT::i1 in SELECT and SETCC nodes. Relax the LegalizeTypes SELECT condition promotion sanity checks to allow other condition types than i1. llvm-svn: 57966
-
Duncan Sands authored
to have a different type to the vector element type. This should be fairly harmless because in the past guys like this were being built all over the place (and were cleaned up when I added this check). The reason for relaxing this check is that it helps LegalizeTypes legalize vector shuffles: the mask is a BUILD_VECTOR that it is *not always possible* to legalize while keeping it a BUILD_VECTOR (vector_shuffle requires the mask to be a BUILD_VECTOR, as opposed to a vector with the right vector type). With this check it is even harder to legalize the mask - turning the check off means that LegalizeTypes manages to legalize almost all vector shuffles encountered in practice. The correct solution is to change vector_shuffle to be a variadic node with the mask built into it as operands. While waiting for that change, this hack stops the problem with vector_shuffle from blocking the turning on of LegalizeTypes. llvm-svn: 57965
-