- Jul 09, 2009
-
-
Owen Anderson authored
llvm-svn: 75153
-
Dan Gohman authored
nodes with operand types that differ from the result type. (This doesn't normally happen right now, because SelectionDAGLowering::visitShuffleVector normalizes vector shuffles.) llvm-svn: 75081
-
David Goodwin authored
llvm-svn: 75067
-
- Jul 08, 2009
-
-
Duncan Sands authored
number of elements. Make some simplifications based on this (in particular SplitVecRes_SETCC). Tighten up some checking while there. llvm-svn: 75050
-
Duncan Sands authored
and cases alphabetically. No functionality change. llvm-svn: 75001
-
Nick Lewycky authored
these instructions, no autoupgrade or backwards compatibility support is provided. llvm-svn: 74991
-
Chris Lattner authored
VSETCC must define all bits, which is different than it was documented to before. Since all targets that implement VSETCC already have this behavior, and we don't optimize based on this, just change the documentation. We now get nice code for vec_compare.ll llvm-svn: 74978
-
Chris Lattner authored
for now, conservatively return false. llvm-svn: 74969
-
Dale Johannesen authored
as "X" constraint and "P" modifier on x86. Make this work. (Change may not be sufficient to fix it for non-Darwin, but I'm pretty sure it won't break anything.) gcc.apple/asm-block-32.c gcc.apple/asm-block-33.c llvm-svn: 74967
-
Chris Lattner authored
the input is legal (4 x i32) llvm-svn: 74964
-
Chris Lattner authored
llvm-svn: 74962
-
Chris Lattner authored
finishes off enough support for vector compares to get the icmp/fcmp version of 2008-07-23-VSetCC.ll passing. llvm-svn: 74961
-
Chris Lattner authored
(vector of bool). llvm-svn: 74960
-
Chris Lattner authored
eliminate the former. llvm-svn: 74959
-
Chris Lattner authored
llvm-svn: 74957
-
- Jul 07, 2009
-
-
Owen Anderson authored
llvm-svn: 74931
-
- Jul 03, 2009
-
-
Tilmann Scheller authored
Add NumFixedArgs attribute to CallSDNode which indicates the number of fixed arguments in a vararg call. With the SVR4 ABI on PowerPC, vector arguments for vararg calls are passed differently depending on whether they are a fixed or a variable argument. Variable vector arguments always go into memory, fixed vector arguments are put into vector registers. If there are no free vector registers available, fixed vector arguments are put on the stack. The NumFixedArgs attribute allows to decide for an argument in a vararg call whether it belongs to the fixed or variable portion of the parameter list. llvm-svn: 74764
-
Devang Patel authored
llvm-svn: 74733
-
- Jul 02, 2009
-
-
Douglas Gregor authored
llvm-svn: 74720
-
Devang Patel authored
llvm-svn: 74677
-
Devang Patel authored
llvm-svn: 74673
-
Devang Patel authored
llvm-svn: 74659
-
- Jul 01, 2009
-
-
Devang Patel authored
llvm-svn: 74625
-
- Jun 30, 2009
-
-
Evan Cheng authored
Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them. The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing. This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def. llvm-svn: 74518
-
- Jun 27, 2009
-
-
Chris Lattner authored
llvm-svn: 74364
-
- Jun 26, 2009
-
-
Chris Lattner authored
the SelectionDAG::getGlobalAddress function properly looks through aliases to determine thread-localness, but then passes the GV* down to GlobalAddressSDNode::GlobalAddressSDNode which does not. Instead of passing down isTarget, just pass down the predetermined node opcode. This fixes some assertions with out of tree changes I'm working on. llvm-svn: 74325
-
Chris Lattner authored
SDNode::print_details to eliminate a ton of near-duplicate code. llvm-svn: 74311
-
Chris Lattner authored
but in the meantime lets print targetflags on node labels. llvm-svn: 74274
-
Chris Lattner authored
llvm-svn: 74273
-
Chris Lattner authored
llvm-svn: 74270
-
- Jun 25, 2009
-
-
Chris Lattner authored
llvm-svn: 74204
-
Chris Lattner authored
llvm-svn: 74203
-
Chris Lattner authored
llvm-svn: 74199
-
Owen Anderson authored
to be shared, but how/where to privatize it is not immediately clear to me. If any SelectionDAG experts see a better solution, please share! llvm-svn: 74180
-
- Jun 24, 2009
-
-
David Greene authored
This increases the maximum for MVT::LAST_VALUETYPE This change doubles the allowable value for MVT::LAST_VALUETYPE. It does this by doing several things. 1. Introduces MVT::MAX_ALLOWED_LAST_VALUETYPE which in this change has a value of 64. This value contains the current maximum for the MVT::LAST_VALUETYPE. 2. Instead of checking "MVT::LAST_VALUETYPE <= 32", all of those uses now become "MVT::LAST_VALUETYPE <= MVT::MAX_ALLOWED_LAST_VALUETYPE" 3. Changes the dimension of the ValueTypeActions from 2 elements to four elements and adds comments ahead of the declaration indicating the it is "(MVT::MAX_ALLOWED_LAST_VALUETYPE/32) * 2". This at least lets us find what is affected if and when MVT::MAX_ALLOWED_LAST_VALUETYPE gets changed. 4. Adds initializers for the new elements of ValueTypeActions. This does NOT add any types in MVT. That would be done separately. This doubles the size of ValueTypeActions from 64 bits to 128 bits and gives us the freedom to add more types for AVX. llvm-svn: 74110
-
Owen Anderson authored
Get rid of the global CFGOnly flag by threading a ShortNames parameters through the GraphViz rendering code. Update other uses in the codebase for this change. llvm-svn: 74084
-
Dale Johannesen authored
llvm-svn: 74082
-
Chris Lattner authored
llvm-svn: 74065
-
- Jun 22, 2009
-
-
Dale Johannesen authored
types for the target (I think). This was breaking the PPC32 calling sequence. llvm-svn: 73900
-
- Jun 20, 2009
-
-
Devang Patel authored
llvm-svn: 73786
-