- Dec 21, 2010
-
-
Dale Johannesen authored
llvm-svn: 122360
-
Rafael Espindola authored
the folding it can. llvm-svn: 122359
-
Rafael Espindola authored
are not actually relaxed. For example, a section with only alignments will never needs relaxation. llvm-svn: 122356
-
Dale Johannesen authored
llvm-svn: 122355
-
Dale Johannesen authored
count operand. These should be the same but apparently are not always, and this is cleaner anyway. This improves the code in an existing test. llvm-svn: 122354
-
Dale Johannesen authored
llvm-svn: 122353
-
Chris Lattner authored
llvm-svn: 122349
-
Stuart Hastings authored
llvm-svn: 122345
-
Duncan Sands authored
visit instructions before their uses, since InstructionSimplify does a better job in that case. All this prompted by Frits van Bommel. llvm-svn: 122343
-
Stuart Hastings authored
llvm-svn: 122342
-
Duncan Sands authored
not very important since the pass is only used for testing, but it does make it more realistic. Suggested by Frits van Bommel. llvm-svn: 122336
-
Daniel Dunbar authored
type. llvm-svn: 122334
-
Duncan Sands authored
not assume this (for example in case more transforms get added below it). Suggested by Frits van Bommel. llvm-svn: 122332
-
Duncan Sands authored
llvm-svn: 122331
-
Duncan Sands authored
plenty left though!), in particular for multiplication. llvm-svn: 122330
-
Duncan Sands authored
quite often, but don't make much difference in practice presumably because instcombine also knows them and more. llvm-svn: 122328
-
Duncan Sands authored
No functionality change. llvm-svn: 122327
-
Duncan Sands authored
a couple of existing transforms. This fires surprisingly often, for example when compiling gcc "(X+(-1))+1->X" fires quite a lot as well as various "and" simplifications (usually with a phi node operand). Most of the time this doesn't make a real difference since the same thing would have been done elsewhere anyway, eg: by instcombine, but there are a few places where this results in simplifications that we were not doing before. llvm-svn: 122326
-
Cameron Zwarich authored
of the problems with my last attempt were in the updating of LiveIntervals rather than the coalescing itself. Therefore, I decided to get that right first by essentially reimplementing the existing PHIElimination using LiveIntervals. It works correctly, with only a few tests failing (which may not be legitimate failures) and no new verifier failures (at least as far as I can tell, I didn't count the number per file). llvm-svn: 122321
-
Bob Wilson authored
Type legalization splits up i64 values into pairs of i32 values, which leads to poor quality code when inserting or extracting i64 vector elements. If the vector element is loaded or stored, it can be treated as an f64 value and loaded or stored directly from a VPR register. Use the pre-legalization DAG combiner to cast those vector elements to f64 types so that the type legalizer won't mess them up. Radar 8755338. llvm-svn: 122319
-
Rafael Espindola authored
section. This helps because in practice sections form a dag with debug sections pointing to text sections. Finishing up the text sections first makes the debug section relaxation trivial. llvm-svn: 122314
-
Eric Christopher authored
Fixes rdar://8782223 llvm-svn: 122313
-
Chris Lattner authored
something that just glues two nodes together, even if it is sometimes used for flags. llvm-svn: 122310
-
Eric Christopher authored
to be the one we want to use. bugpoint reduced testcase is a little large, I'll see if I can simplify it down more. Fixes part of rdar://8782207 llvm-svn: 122307
-
Chris Lattner authored
they are just as useless, but at least a bit more gramatical llvm-svn: 122305
-
Bill Wendling authored
tPseudoInst class, its size was changed from "special" to "2 bytes". This is incorrect because the jump table will no longer be taken into account when calculating branch offsets. <rdar://problem/8782216> llvm-svn: 122303
-
Bill Wendling authored
llvm-svn: 122302
-
Jakob Stoklund Olesen authored
Edge bundles is an annotation on the CFG that turns it into a bipartite directed graph where each basic block is connected to an outgoing and an ingoing bundle. These bundles are useful for identifying regions of the CFG for live range splitting. llvm-svn: 122301
-
Jakob Stoklund Olesen authored
llvm-svn: 122296
-
Jakob Stoklund Olesen authored
This implementation already exists as ConnectedVNInfoEqClasses in LiveInterval.cpp, and it seems to be generally useful to have a light-weight way of forming equivalence classes of small integers. IntEqClasses doesn't allow enumeration of the elements in a class. llvm-svn: 122293
-
Owen Anderson authored
Speculatively revert the use of DenseMap in LazyValueInfo, which may be causing Linux self-host failures. llvm-svn: 122291
-
Owen Anderson authored
llvm-svn: 122288
-
- Dec 20, 2010
-
-
Owen Anderson authored
Revert r122114 (CallbackVH observing use-list changes) because it caused severe slowdowns on the Linux self-host configuration. llvm-svn: 122279
-
Nate Begeman authored
Implement feedback from Bruno on making pblendvb an x86-specific ISD node in addition to being an intrinsic, and convert lowering to use it. Hopefully the pattern fragment is doing the right thing with XMM0, looks correct in testing. llvm-svn: 122277
-
Owen Anderson authored
Convert one of LVI's primary maps to a DenseMap, now that we know are more assured of iterator stability. llvm-svn: 122273
-
Wesley Peck authored
llvm-svn: 122269
-
Roman Divacky authored
llvm-svn: 122268
-
Duncan Sands authored
llvm-svn: 122265
-
Duncan Sands authored
it could only be tested indirectly, via instcombine, gvn or some other pass that makes use of InstructionSimplify, which means that testcases had to be carefully contrived to dance around any other transformations that that pass did. llvm-svn: 122264
-
Wesley Peck authored
llvm-svn: 122261
-