- Jan 08, 2010
-
-
Evan Cheng authored
1. CMPXCHG8B and CMPXCHG16B did not specify implicit physical register defs and uses. 2. LCMPXCHG8B is loading 64 bit memory, not 32 bit. llvm-svn: 92985
-
Eric Christopher authored
llvm-svn: 92972
-
- Jan 07, 2010
-
-
Eric Christopher authored
add it to the constant pool for fast-isel. We already don't add it for the normal case. llvm-svn: 92934
-
Evan Cheng authored
Fix a minor regression from my dag combiner changes. One more place which needs to look pass truncates. llvm-svn: 92885
-
- Jan 06, 2010
-
-
Evan Cheng authored
(OP (trunc x), (trunc y)) -> (trunc (OP x, y)) Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel. This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places. llvm-svn: 92849
-
- Jan 05, 2010
-
-
Benjamin Kramer authored
llvm-svn: 92771
-
Benjamin Kramer authored
llvm-svn: 92760
-
Evan Cheng authored
llvm-svn: 92694
-
David Greene authored
llvm-svn: 92654
-
David Greene authored
llvm-svn: 92653
-
David Greene authored
llvm-svn: 92651
-
David Greene authored
llvm-svn: 92648
-
David Greene authored
llvm-svn: 92647
-
David Greene authored
llvm-svn: 92644
-
Dan Gohman authored
clear what information these functions are actually using. This is also a micro-optimization, as passing a SDNode * around is simpler than passing a { SDNode *, int } by value or reference. llvm-svn: 92564
-
Dan Gohman authored
operators. Eli pointed out that it's not obvious what that would mean. llvm-svn: 92555
-
- Jan 04, 2010
-
-
Evan Cheng authored
(or (x << c) | (y >> (64 - c))) ==> (shld64 x, y, c) The isel patterns may not catch all the cases if general dag combine has reduced width of source operands. llvm-svn: 92513
-
Dan Gohman authored
llvm-svn: 92511
-
Dan Gohman authored
lets the test-elimination work in more conditional-move cases. llvm-svn: 92508
-
Dan Gohman authored
rules as normal add, and, or, etc. llvm-svn: 92507
-
Dan Gohman authored
This lets isel fold loads into them in more cases. llvm-svn: 92506
-
- Dec 29, 2009
-
-
Benjamin Kramer authored
llvm-svn: 92265
-
- Dec 28, 2009
-
-
Bill Wendling authored
llvm-svn: 92184
-
- Dec 26, 2009
-
-
Eli Friedman authored
do illegal stuff around it. No testcase because the issue is very fragile. llvm-svn: 92167
-
- Dec 23, 2009
-
-
Chris Lattner authored
llvm-svn: 91976
-
Chris Lattner authored
interesting part of this is the divrem changes, which are already tested by CodeGen/X86/divrem.ll. llvm-svn: 91975
-
Sean Callanan authored
static inline functions with macros. llvm-svn: 91973
-
Chris Lattner authored
instead use the appropriate subreggy thing. This generates identical code on some large apps (thanks to Evan's cross class coalescing stuff he did back in july). This means that MOV16r0 can go away completely in the future soon. llvm-svn: 91972
-
- Dec 22, 2009
-
-
Sean Callanan authored
because the Visual C++ build does not build .c files as C99 llvm-svn: 91935
-
Sean Callanan authored
Made LEA memory operands emit only 4 MCInst operands. Made the scale operand equal 1 for instructions that have no SIB byte. llvm-svn: 91919
-
Evan Cheng authored
Remove target attribute break-sse-dep. Instead, do not fold load into sse partial update instructions unless optimizing for size. llvm-svn: 91910
-
Douglas Gregor authored
llvm-svn: 91908
-
Bill Wendling authored
return partial registers. This affected the back-end lowering code some. Also patch up some places I missed before in the "get" functions. llvm-svn: 91880
-
Sean Callanan authored
with symbols in AuroraUX's global namespace. llvm-svn: 91879
-
Daniel Dunbar authored
llvm-svn: 91878
-
Sean Callanan authored
X86 codegen that were causing circular symbol dependencies. llvm-svn: 91871
-
Chris Lattner authored
get things like this out of the disassembler: 0x100000ecb: callq -96 instead of: 0x100000ecb: callq 4294967200 rdar://7491123 llvm-svn: 91864
-
- Dec 21, 2009
-
-
Eric Christopher authored
by allowing backends to override routines that will default the JIT and Static code generation to an appropriate code model for the architecture. Should fix PR 5773. llvm-svn: 91824
-
Eli Friedman authored
llvm-svn: 91823
-
- Dec 19, 2009
-
-
Daniel Dunbar authored
llvm-svn: 91778
-