- Mar 19, 2010
-
-
Chris Lattner authored
dag isel gen instead of instruction properties. This allows the oh-so-useful behavior of matching a variadic non-root node. llvm-svn: 98934
-
Chris Lattner authored
llvm-svn: 98932
-
Chris Lattner authored
match. Jakob, please take a look when you get a chance. llvm-svn: 98931
-
Chris Lattner authored
can't match or just have no testcases. Will remove after confirmation from dan that they really are dead. llvm-svn: 98930
-
Daniel Dunbar authored
llvm-svn: 98928
-
Daniel Dunbar authored
MC/Mach-O: Add isScatteredFixupFullyResolved, which implements the correct algorithm (used on x86_64) for determining whether an evaluated fixup is fully resolved (doesn't need relocation). - Test cases will follow, once we have x86_64 relocation support. llvm-svn: 98926
-
Daniel Dunbar authored
- These find the defining symbol which identifies the containing atom for a symbol or address. They are currently very slow, but will be eliminated eventually. llvm-svn: 98925
-
Daniel Dunbar authored
llvm-svn: 98924
-
Daniel Dunbar authored
MC/Mach-O: Factor out isSymbolLinkerVisible method; "linker visible" is a made up term to refer to non-temporary labels + temporary labels in sections-which-require symbols. For Darwin, it corresponds to symbols which effectively define an atom. llvm-svn: 98923
-
Mon P Wang authored
llvm-svn: 98920
-
Daniel Dunbar authored
llvm-svn: 98919
-
Anton Korobeynikov authored
llvm-svn: 98911
-
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
-
- Mar 18, 2010
-
-
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: 98869
-
Chris Lattner authored
llvm-svn: 98866
-
Chris Lattner authored
llvm-svn: 98864
-
Eric Christopher authored
llvm-svn: 98862
-
Bob Wilson authored
No functional changes. llvm-svn: 98860
-
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
-
Chris Lattner authored
llvm-svn: 98855
-
Dan Gohman authored
llvm-svn: 98853
-
Dan Gohman authored
RecyclingAllocator to allow client code to be simpler, and simplify several clients. llvm-svn: 98847
-
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
-
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
-
Bob Wilson authored
intrinsics. The intrinsic lookup code assumes that this check has been done and assumes the names are at least 6 characters long. Valgrind complained about this. pr6638. llvm-svn: 98831
-
Devang Patel authored
llvm-svn: 98830
-
Dan Gohman authored
BumpPtrAllocator-allocated region to allow it to be stored in a more compact form and to avoid the need for a non-trivial destructor call. Use this new mechanism in ScalarEvolution instead of FastFoldingSetNode to avoid leaking memory in the case where a FoldingSetNodeID uses heap storage, and to reduce overall memory usage. llvm-svn: 98829
-
Benjamin Kramer authored
llvm-svn: 98819
-
Evan Cheng authored
llvm-svn: 98810
-
Dan Gohman authored
llvm-svn: 98793
-
Daniel Dunbar authored
MCValue: Change to holding MCSymbolRefExprs instead of MCSymbols, we will need this for accessing to symbol modifiers. llvm-svn: 98791
-