- Oct 16, 2010
-
-
Rafael Espindola authored
single object format can be shared. This also adds support for mov zed+(bar-foo), %eax on ELF and COFF targets. llvm-svn: 116675
-
Michael J. Spencer authored
if any floating point arguments are passed to an external function. llvm-svn: 116665
-
- Oct 13, 2010
-
-
Rafael Espindola authored
immediates instead of 8 bits ones. llvm-svn: 116410
-
Rafael Espindola authored
8 bit constants can be used. llvm-svn: 116403
-
Evan Cheng authored
Turn some fp stackifier assertion into errors to avoid silently generating bad code when assertions are off. rdar://8540457. llvm-svn: 116368
-
- Oct 12, 2010
-
-
Eric Christopher authored
that says what why what we just asserted is wrong. llvm-svn: 116333
-
Nick Lewycky authored
llvm-svn: 116323
-
Dan Gohman authored
llvm-svn: 116319
-
Jakob Stoklund Olesen authored
The reg-reg copies were no longer being generated since copyPhysReg copies physical registers only. The loads and stores are not necessary - The TC constraint is imposed by the TAILJMP and TCRETURN instructions, there should be no need for constrained loads and stores. llvm-svn: 116314
-
- Oct 11, 2010
-
-
Andrew Trick authored
llvm-svn: 116214
-
Michael J. Spencer authored
llvm-svn: 116188
-
Michael J. Spencer authored
llvm-svn: 116177
-
Michael J. Spencer authored
llvm-svn: 116174
-
Michael J. Spencer authored
llvm-svn: 116173
-
- Oct 09, 2010
-
-
Michael J. Spencer authored
llvm-svn: 116149
-
Chris Lattner authored
the add/or xform. The JIT isn't mcized yet, boo. This fixes Olden/voronoi, bh and a ton of other stuff that uses the jit. llvm-svn: 116125
-
Chris Lattner authored
llvm-svn: 116124
-
- Oct 08, 2010
-
-
Cameron Esfahani authored
llvm-svn: 116083
-
Andrew Trick authored
llvm-svn: 116063
-
Cameron Esfahani authored
Small patch to restore home register stack space allocation for the Win64 case. Add test case. This code eventually needs to be tighter, since it's always allocating it, even in leaf routines. llvm-svn: 116056
-
Chris Lattner authored
the i8 versions of instructions in some cases. In test6, we started generating: cmpq $0, -8(%rsp) ## encoding: [0x48,0x81,0x7c,0x24,0xf8,0x00,0x00,0x00,0x00] ## <MCInst #478 CMP64mi32 ## <MCOperand Reg:114> ## <MCOperand Imm:1> ## <MCOperand Reg:0> ## <MCOperand Imm:-8> ## <MCOperand Reg:0> ## <MCOperand Imm:0>> instead of: cmpq $0, -8(%rsp) ## encoding: [0x48,0x83,0x7c,0x24,0xf8,0x00] ## <MCInst #479 CMP64mi8 ## <MCOperand Reg:114> ## <MCOperand Imm:1> ## <MCOperand Reg:0> ## <MCOperand Imm:-8> ## <MCOperand Reg:0> ## <MCOperand Imm:0>> Fix this and add some comments. llvm-svn: 116053
-
Chris Lattner authored
reapply: reimplement the second half of the or/add optimization. We should now with no changes. Turns out that one missing "Defs = [EFLAGS]" can upset things a bit. llvm-svn: 116040
-
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
-
Daniel Dunbar authored
on r116007, which I am about to revert. llvm-svn: 116032
-
Daniel Dunbar authored
which depends on r116007, which I am about to revert. llvm-svn: 116031
-
Chris Lattner authored
only end up emitting LEA instead of OR. If we aren't able to promote something into an LEA, we should never be emitting it as an ADD. Add some testcases that we emit "or" in cases where we used to produce an "add". llvm-svn: 116026
-
Chris Lattner authored
casing FsMOVAPDrr/FsMOVAPSrr. llvm-svn: 116016
-
Chris Lattner authored
llvm-svn: 116014
-
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
-
Chris Lattner authored
with the right types. llvm-svn: 116001
-
Chris Lattner authored
llvm-svn: 115997
-
- Oct 07, 2010
-
-
Chris Lattner authored
use. Since TEST is completely different than all other binops, don't define a multipattern for it. This completes factorization of binops. llvm-svn: 115982
-
Chris Lattner authored
llvm-svn: 115978
-
Evan Cheng authored
Canonicalize X86ISD::MOVDDUP nodes to v2f64 to make sure all cases match. Also eliminate unneeded isel patterns. rdar://8520311 llvm-svn: 115977
-
Chris Lattner authored
llvm-svn: 115968
-
Chris Lattner authored
llvm-svn: 115967
-
Chris Lattner authored
are not defined as returning EFLAGS (like add_flag and friends), the entire multipattern and several of the subclasses need to be cloned. This could be handled through better instantiation support in tblgen, but it isn't meta enough. llvm-svn: 115964
-
Jakob Stoklund Olesen authored
llvm-svn: 115952
-
Chris Lattner authored
allowing us to convert ADD over. deletes 160 lines of .td file. llvm-svn: 115897
-