- Mar 19, 2010
-
-
Chris Lattner authored
to input patterns, we can fix X86ISD::CMP and X86ISD::BT as taking two inputs (which have to be the same type) and *returning an i32*. This is how the SDNodes get made in the graph, but we weren't able to model it this way due to deficiencies in the pattern language. Now we can change things like this: def UCOM_FpIr80: FpI_<(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP, - [(X86cmp RFP80:$lhs, RFP80:$rhs), - (implicit EFLAGS)]>; // CC = ST(0) cmp ST(i) + [(set EFLAGS, (X86cmp RFP80:$lhs, RFP80:$rhs))]>; and fix terrible crimes like this: -def : Pat<(parallel (X86cmp GR8:$src1, 0), (implicit EFLAGS)), +def : Pat<(X86cmp GR8:$src1, 0), (TEST8rr GR8:$src1, GR8:$src1)>; This relies on matching the result of TEST8rr (which is EFLAGS, which is an implicit def) to the result of X86cmp, an i32. llvm-svn: 98903
-
Bob Wilson authored
llvm-svn: 98902
-
Chris Lattner authored
llvm-svn: 98901
-
Chris Lattner authored
llvm-svn: 98900
-
Chris Lattner authored
like this: def : Pat<(add ...), (FOOINST)>; When fooinst only has a single implicit def (e.g. to R1). This will be handled as if written as (set R1, (FOOINST ...)) llvm-svn: 98897
-
- Mar 18, 2010
-
-
Jeffrey Yasskin authored
script to the #! command by using bash instead of /bin/sh. Bash searches $PATH for its script argument, but dash, which /bin/sh resolves to on some systems, does not. https://bugs.kde.org/show_bug.cgi?id=231257 tracks the valgrind problem. llvm-svn: 98892
-
Anton Korobeynikov authored
llvm-svn: 98889
-
Anton Korobeynikov authored
llvm-svn: 98888
-
Anton Korobeynikov authored
Refactor Reg-Reg copy emission routine for ARM. This makes cross-regclass copies weirdness more straightforward. Also, add GPR <-> SPR copy support. llvm-svn: 98887
-
Eric Christopher authored
llvm-svn: 98881
-
Daniel Dunbar authored
were missing it on some movq instructions and were not including the appropriate PCrel bias. llvm-svn: 98880
-
Chris Lattner authored
llvm-svn: 98879
-
Chris Lattner authored
shouldn't change this. llvm-svn: 98872
-
Chris Lattner authored
llvm-svn: 98871
-
Chris Lattner authored
llvm-svn: 98870
-
Chris Lattner authored
llvm-svn: 98869
-
Chris Lattner authored
instruction. Instructions must use 'ins' and 'outs' now. llvm-svn: 98868
-
Chris Lattner authored
llvm-svn: 98867
-
Chris Lattner authored
llvm-svn: 98866
-
Chris Lattner authored
Add checking that the input/output operand list in spelled right. llvm-svn: 98865
-
Chris Lattner authored
llvm-svn: 98864
-
Eric Christopher authored
llvm-svn: 98862
-
Bob Wilson authored
No functional changes. llvm-svn: 98860
-
Daniel Dunbar authored
llvm-svn: 98859
-
Daniel Dunbar authored
temporary workaround for matching inc/dec on x86_64 to the correct instruction. - This hack will eventually be replaced with a robust mechanism for handling matching instructions based on the available target features. llvm-svn: 98858
-
Daniel Dunbar authored
to allow custom post-processing of matched instructions. llvm-svn: 98857
-
Chris Lattner authored
llvm-svn: 98855
-
Dan Gohman authored
llvm-svn: 98854
-
Dan Gohman authored
llvm-svn: 98853
-
Benjamin Kramer authored
llvm-svn: 98852
-
Dan Gohman authored
llvm-svn: 98851
-
Gabor Greif authored
llvm-svn: 98850
-
Dan Gohman authored
RecyclingAllocator to allow client code to be simpler, and simplify several clients. llvm-svn: 98847
-
Dan Gohman authored
aligned storage, the capacity may be more than what is explicitly requested. llvm-svn: 98846
-
Bob Wilson authored
always create a new jump table. The intention was to avoid merging jump tables in SelectionDAGBuilder, and to wait for the branch folding pass to merge tables. Unfortunately, the same getJumpTableIndex() method is also used to merge tables in branch folding, so as a result of this change branch tables are never merged. Worse, the branch folding code is expecting getJumpTableIndex to always return the index of an existing table, but with this change, it never does so. In at least some cases, e.g., pr6543, this creates references to non-existent tables. I've fixed the problem by adding a new createJumpTableIndex function, which will always create a new table, and I've changed getJumpTableIndex to only look at existing tables. llvm-svn: 98845
-
Dan Gohman authored
doesn't apply to the type, only to the variable, so subsequent uses of U which expect it to be aligned weren't actually aligned. llvm-svn: 98843
-
Andrew Lenharth authored
llvm-svn: 98840
-
Chris Lattner authored
files that produce special relocation types where the linker changes movq's into lea's. llvm-svn: 98839
-
Dan Gohman authored
llvm-svn: 98838
-
Chris Lattner authored
llvm-svn: 98835
-