- Sep 03, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 112924
-
- Mar 01, 2010
-
-
Chris Lattner authored
llvm-svn: 97504
-
- Jul 03, 2009
-
-
Daniel Dunbar authored
- Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
-
- Feb 18, 2009
-
-
Dan Gohman authored
llvm-svn: 64915
-
- May 31, 2008
-
-
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
-
- Apr 03, 2008
-
-
Dan Gohman authored
CodeGenDAGPatterns, where it can be used in other tablegen backends. This allows the inference to be done for DAGISelEmitter so that it gets accurate mayLoad/mayStore/isSimpleLoad flags. This brings MemOperand functionality back to where it was before 48329. However, it doesn't solve the problem of anonymous patterns which expand to code that does loads or stores. llvm-svn: 49123
-
- Jan 06, 2008
-
-
Chris Lattner authored
llvm-svn: 45641
-
- Jan 05, 2008
-
-
Chris Lattner authored
out, DAGISelEmitter can compute it in its ctor, which simplifies some code. Now we can use CodegenDAGPatterns in other parts of tblgen that want access to dag pattern info, woo! llvm-svn: 45636
-
Chris Lattner authored
The only difference in output is that we now print them in alphabetical order instead of reverse alphabetical order. llvm-svn: 45635
-
Chris Lattner authored
llvm-svn: 45634
-
Chris Lattner authored
llvm-svn: 45633
-
Chris Lattner authored
Split the pattern parsing code out from the dag isel emitter into it's own file. No functionality change. llvm-svn: 45632
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45419
-
- Sep 13, 2007
-
-
Evan Cheng authored
1. [(set GR32:$dst, (add GR32:$src1, GR32:$src2)), (modify EFLAGS)] This indicates the source pattern expects the instruction would produce 2 values. The first is the result of the addition. The second is an implicit definition in register EFLAGS. 2. def : Pat<(parallel (addc GR32:$src1, GR32:$src2), (modify EFLAGS)), ()> Similar to #1 except this is used for def : Pat patterns. llvm-svn: 41897
-
- Jul 06, 2007
-
-
Evan Cheng authored
llvm-svn: 37933
-
- Nov 04, 2006
-
-
Chris Lattner authored
isel fill in the instruction operands with the 'execute always' value automatically. llvm-svn: 31448
-
- Oct 11, 2006
-
-
Evan Cheng authored
llvm-svn: 30890
-
- Aug 26, 2006
-
-
Evan Cheng authored
llvm-svn: 29893
-
Evan Cheng authored
- Clean up the code generated by tablegen: * AddToISelQueue now takes one argument. * ComplexPattern matching condition can now be shared. * Eliminate passing unnecessary arguments to emit routines. * Eliminate some unneeded SDOperand declarations in select routines. * Other minor clean ups. - This reduces foot print slightly: X86ISelDAGToDAG.o is reduced from 971k to 823k. llvm-svn: 29892
-
- Aug 08, 2006
-
-
Evan Cheng authored
llvm-svn: 29548
-
- Jul 16, 2006
-
-
Evan Cheng authored
Also reduce the number of arguments passed to emit functions and removed a hack. llvm-svn: 29160
-
- Jul 15, 2006
-
-
Evan Cheng authored
code that emit target specific nodes into emit functions that are uniquified and shared among selection routines. e.g. This reduces X86ISelDAGToDAG.o (release) from ~2M to ~1.5M. Stack frame size of Select_store from ~13k down to ~8k. This is the first step. Further work to enable more sharing will follow. llvm-svn: 29158
-
- May 17, 2006
-
-
Evan Cheng authored
represent pointer type. llvm-svn: 28363
-
- Apr 19, 2006
-
-
Evan Cheng authored
llvm-svn: 27841
-
Evan Cheng authored
llvm-svn: 27834
-
- Mar 25, 2006
-
-
Chris Lattner authored
intrinsics that don't take pointer arguments now work. For example, we can compile this: int test3( __m128d *A) { return _mm_movemask_pd(*A); } int test4( __m128 *A) { return _mm_movemask_ps(*A); } to this: _test3: movl 4(%esp), %eax movapd (%eax), %xmm0 movmskpd %xmm0, %eax ret _test4: movl 4(%esp), %eax movaps (%eax), %xmm0 movmskps %xmm0, %eax ret llvm-svn: 27090
-
- Mar 24, 2006
-
-
Chris Lattner authored
emit the code to select intrinsics, but that is next :) llvm-svn: 27082
-
- Mar 20, 2006
-
-
Evan Cheng authored
The instruction patterns do not contain enough information to resolve the exact type of the destination if it of a generic vector type. llvm-svn: 26892
-
Chris Lattner authored
llvm-svn: 26890
-
- Feb 09, 2006
-
-
Evan Cheng authored
llvm-svn: 26084
-
- Feb 07, 2006
-
-
Evan Cheng authored
to reduce stack memory usage. This is intended to work around the gcc bug. llvm-svn: 26026
-
- Feb 05, 2006
-
-
Evan Cheng authored
due to ordering issue. i.e. they were selected for chain use first. Now at load select time, check if it is being selected for a chain use and if it has only a single real use. If so, return a HANDLENODE (with the load as its operand) in its place and record it. When it is folded or the load is selected for a real use, the isel records it as the replacement for the HANDLENODE. The replacement is done when all nodes are selected. This scheme exposed a couple of problems where cycles can happen. (See comments in EmitMatchCode() for descriptions of the problems and their workaround / solutions.) These problems have been resolved with a small compile time penality. llvm-svn: 25995
-
- Jan 29, 2006
-
-
Chris Lattner authored
GCC not jump-threading across this common code, and produces far nicer output. llvm-svn: 25762
-
Chris Lattner authored
llvm-svn: 25758
-
- Jan 27, 2006
-
-
Jeff Cohen authored
llvm-svn: 25709
-
- Jan 17, 2006
-
-
Chris Lattner authored
llvm-svn: 25411
-
- Jan 09, 2006
-
-
Evan Cheng authored
SNDPOutFlag to DAG nodes. These properties do not belong to target specific instructions. * Added DAG node property SNDPOptInFlag. It's same as SNDPInFlag except it's optional. Used by ret / call, etc. llvm-svn: 25154
-
- Dec 30, 2005
-
-
Nate Begeman authored
llvm-svn: 25046
-
- Dec 23, 2005
-
-
Evan Cheng authored
support which is fragile. * Fixed a number of bugs. llvm-svn: 24996
-
- Dec 22, 2005
-
-
Evan Cheng authored
either an operand or a result. * Fixed some more flag / chain bugs. llvm-svn: 24933
-