- Dec 21, 2010
-
-
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
-
Dale Johannesen authored
llvm-svn: 122259
-
Benjamin Kramer authored
llvm-svn: 122258
-
Owen Anderson authored
llvm-svn: 122256
-
Owen Anderson authored
verify as being safe thanks its recent de-recursivization. llvm-svn: 122254
-
Benjamin Kramer authored
llvm-svn: 122249
-
Benjamin Kramer authored
Teach InstCombine to merge (icmp ult (X + CA), C1) | (icmp eq X, C2) into (icmp ult (X + CA), C1 + 1) if C2 + CA == C1. InstCombine creates these so now we compile x == 23 || x == 24 || x == 25 to %x.off = add i32 %x, -23 %1 = icmp ult i32 %x.off, 3 instead of %x.off = add i32 %x, -23 %1 = icmp ult i32 %x.off, 2 %cmp3 = icmp eq i32 %x, 25 %ret2 = or i1 %1, %cmp3 llvm-svn: 122248
-
Daniel Dunbar authored
llvm-svn: 122247
-
Daniel Dunbar authored
llvm-svn: 122246
-
Duncan Sands authored
(they had just been forgotten before). Adding Xor causes "main" in the existing testcase 2010-11-01-lshr-mask.ll to be hugely more simplified. llvm-svn: 122245
-
Michael J. Spencer authored
llvm-svn: 122243
-
Duncan Sands authored
llvm-svn: 122242
-
Chris Lattner authored
llvm-svn: 122238
-
Chris Lattner authored
llvm-svn: 122237
-
Chris Lattner authored
to make sure that the reused alloca has sufficient alignment. llvm-svn: 122236
-
Chris Lattner authored
llvm-svn: 122235
-
Chris Lattner authored
argument. The generated alloca has to have at least the alignment of the byval, if not, the client may be making assumptions that the new alloca won't satisfy. llvm-svn: 122234
-
Cameron Zwarich authored
out-edges. Fixes PR8824. llvm-svn: 122228
-
Cameron Zwarich authored
begin at DEF slots. Fixes the second half of PR8813. llvm-svn: 122225
-
Cameron Zwarich authored
llvm-svn: 122224
-