- 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
llvm-svn: 116034
-
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
-
Eric Christopher authored
as thumb1. Fixes lencod. llvm-svn: 116027
-
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
-
Jim Grosbach authored
llvm-svn: 116022
-
Jim Grosbach authored
llvm-svn: 116018
-
Chris Lattner authored
casing FsMOVAPDrr/FsMOVAPSrr. llvm-svn: 116016
-
Chris Lattner authored
llvm-svn: 116014
-
Michael J. Spencer authored
llvm-svn: 116013
-
Dan Gohman authored
one user. This code will be restructured soon and FormulaSorter is getting in the way. llvm-svn: 116012
-
Dan Gohman authored
llvm-svn: 116011
-
Dan Gohman authored
not just base registers. llvm-svn: 116010
-
Dan Gohman authored
llvm-svn: 116009
-
Dan Gohman authored
the old use to the new one. llvm-svn: 116008
-
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
-
Jakob Stoklund Olesen authored
connected components. These components should be allocated different virtual registers because there is no reason for them to be allocated together. Add the ConnectedVNInfoEqClasses class to calculate the connected components, and move values to new LiveIntervals. Use it from SplitKit::rewrite by creating new virtual registers for the components. llvm-svn: 116006
-
Dan Gohman authored
This doesn't usually matter, because the other heuristics usually succeed regardless, but it's good to keep the register use bookkeeping consistent. llvm-svn: 116005
-
Devang Patel authored
llvm-svn: 116004
-
John Thompson authored
llvm-svn: 116003
-
Evan Cheng authored
llvm-svn: 116002
-
Chris Lattner authored
with the right types. llvm-svn: 116001
-
Chris Lattner authored
llvm-svn: 115997
-
Owen Anderson authored
llvm-svn: 115996
-
Jim Grosbach authored
llvm-svn: 115993
-
Evan Cheng authored
llvm-svn: 115991
-
Devang Patel authored
llvm-svn: 115988
-
- Oct 07, 2010
-
-
Jim Grosbach authored
llvm-svn: 115987
-
Eric Christopher authored
llvm-svn: 115984
-
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
-
Jim Grosbach authored
for them from the MCCodeEmitter. llvm-svn: 115975
-
Dan Gohman authored
llvm-svn: 115973
-
Owen Anderson authored
llvm-svn: 115971
-
Chris Lattner authored
llvm-svn: 115968
-
Chris Lattner authored
llvm-svn: 115967
-
Owen Anderson authored
llvm-svn: 115966
-