- Oct 08, 2010
-
-
Chris Lattner authored
"Reimplement (part of) the or -> add optimization. Matching 'or' into 'add'" With a critical fix: the add pseudos clobber EFLAGS. llvm-svn: 116039
-
Daniel Dunbar authored
'add'", which seems to have broken just about everything. llvm-svn: 116033
-
Chris Lattner authored
is general goodness because it allows ORs to be converted to LEA to avoid inserting copies. However, this is bad because it makes the generated .s file less obvious and gives valgrind heartburn (tons of false positives in bitfield code). While the general fix should be in valgrind, we can at least try to avoid emitting ADD instructions that *don't* get promoted to LEA. This is more work because it requires introducing pseudo instructions to represents "add that knows the bits are disjoint", but hey, people really love valgrind. This fixes this testcase: https://bugs.kde.org/show_bug.cgi?id=242137#c20 the add r/i cases are coming next. llvm-svn: 116007
-
- Oct 06, 2010
-
-
Chris Lattner authored
not getting marked as mayStore. This fixes llvm-gcc bootstrap. llvm-svn: 115693
-
- Oct 05, 2010
-
-
Chris Lattner authored
gross hack (having the asmmatcher handle the alias). llvm-svn: 115685
-
Chris Lattner authored
the right places. X86Instr64bit.td now dies, long live x86-64! llvm-svn: 115669
-
Chris Lattner authored
llvm-svn: 115627
-
Chris Lattner authored
llvm-svn: 115607
-
Chris Lattner authored
llvm-svn: 115605
-
Chris Lattner authored
bswap32 doesn't read eflags. llvm-svn: 115604
-
Chris Lattner authored
pseudo instructions. Move POPCNT to InstrSSE since they are SSE4 instructions. llvm-svn: 115603
-
Chris Lattner authored
with the 32-bit stuff. llvm-svn: 115602
-
Chris Lattner authored
llvm-svn: 115601
-
Chris Lattner authored
llvm-svn: 115600
-
Chris Lattner authored
llvm-svn: 115599
-
Chris Lattner authored
llvm-svn: 115598
-
Chris Lattner authored
llvm-svn: 115597
-
Chris Lattner authored
control flow stuff out to X86InstrControl.td. Move some compiler pseudo instructions and Pat<> patterns out to X86InstrCompiler.td llvm-svn: 115596
-
Chris Lattner authored
llvm-svn: 115591
-
- Oct 03, 2010
-
-
Chris Lattner authored
else in X86), and add support for pavgusb. This is apparently the only instruction (other than movsx) that is preventing ffmpeg from building with clang. If someone else is interested in banging out the rest of the 3DNow! instructions, it should be quite easy now. llvm-svn: 115466
-
Chris Lattner authored
llvm-svn: 115429
-
- Sep 24, 2010
-
-
Owen Anderson authored
reflection, this isn't going to achieve the purpose I intended it for. Back to the drawing board! llvm-svn: 114710
-
Owen Anderson authored
llvm-svn: 114703
-
- Sep 22, 2010
-
-
Chris Lattner authored
x86-32: 32-bit calls were named "call" not "calll". 64-bit calls were correctly named "callq", so this only impacted x86-32. This fixes rdar://8456370 - llvm-mc rejects 'calll' This also exposes that mingw/64 is generating a 32-bit call instead of a 64-bit call, I will file a bugzilla. llvm-svn: 114534
-
Chris Lattner authored
llvm-svn: 114529
-
Chris Lattner authored
llvm-svn: 114515
-
Chris Lattner authored
by having X86DAGToDAGISel::SelectAddr get passed in the parent node of the operand match (the load/store/atomic op) and having it get the address space from that, instead of having special FS/GS addr mode operations that require duplicating the entire instruction set to support. This makes FS and GS relative accesses *far* more predictable and work much better. It also simplifies the X86 backend a bit, more to come. There is still a pending issue with nodes like ISD::PREFETCH and X86ISD::FLD, which really should be MemSDNode's but aren't. llvm-svn: 114491
-
- Sep 21, 2010
-
-
Chris Lattner authored
llvm-svn: 114468
-
- Sep 17, 2010
-
-
- Sep 15, 2010
-
-
Chris Lattner authored
add sldt GR32, which isn't documented in the intel manual but which gas accepts. Part of rdar://8418316 llvm-svn: 113938
-
- Sep 09, 2010
-
-
- Sep 08, 2010
-
-
-
Chris Lattner authored
fixing rdar://8403974 llvm-svn: 113349
-
Chris Lattner authored
rdar://8061602 llvm-svn: 113343
-
- Sep 07, 2010
-
-
Evan Cheng authored
llvm-svn: 113259
-
Chris Lattner authored
allowing unsigned 8-bit operands. This fixes rdar://8208481 llvm-svn: 113182
-
- Sep 06, 2010
-
-
Roman Divacky authored
llvm-svn: 113158
-
- Sep 03, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 112921
-
- Aug 25, 2010
-
-
Anton Korobeynikov authored
Mark _alloca call as clobberring EFLAGS, otherwise some DCE might remove other flags-clobberring stuff (e.g. cmp instructions) occuring after _alloca call. llvm-svn: 112034
-
- Aug 23, 2010
-
-
Chris Lattner authored
x86 int and int3 instructions. Patch by Peter Housel! llvm-svn: 111831
-