- Apr 20, 2010
-
-
Jakob Stoklund Olesen authored
register is not killed in the loop. This fixes 188.ammp on ARM where the post-ra scheduler would grab a register that looked available but wasn't. A testcase would be huge and fragile, sorry. llvm-svn: 101930
-
Johnny Chen authored
as their generic counterparts t2ADDri12/t2SUBri12 should suffice. llvm-svn: 101929
-
Bill Wendling authored
reduce. llvm-svn: 101925
-
Johnny Chen authored
transform the Opcode to the corresponding t2LDR*pci counterpart. Ref: A8.6.86 LDRT, A8.6.65 LDRBT, A8.6.77 LDRHT, A8.6.81 LDRSBT, A8.6.85 LDRSHT llvm-svn: 101915
-
Evan Cheng authored
llvm-svn: 101914
-
Devang Patel authored
llvm-svn: 101913
-
Dan Gohman authored
into SelectionDAGBuilder. This avoids a separate pass over the instructions, and has the side effect of providing debug location information to the copy. llvm-svn: 101906
-
Dan Gohman authored
they end up doing nothing. llvm-svn: 101904
-
Dan Gohman authored
llvm-svn: 101903
-
Dan Gohman authored
llvm-svn: 101902
-
Dan Gohman authored
llvm-svn: 101901
-
Dan Gohman authored
llvm-svn: 101900
-
Gabor Greif authored
llvm-svn: 101899
-
Benjamin Kramer authored
llvm-svn: 101897
-
Benjamin Kramer authored
llvm-svn: 101894
-
Chris Lattner authored
llvm-svn: 101881
-
Chris Lattner authored
llvm-svn: 101880
-
Chris Lattner authored
in other types. fix this by only bumping zero-byte globals up to a single byte if the *entire global* is zero size, fixing PR6340. This also fixes empty arrays etc to be handled correctly, and only does this on subsection-via-symbols targets (aka darwin) which is the only place where this matters. llvm-svn: 101879
-
Chris Lattner authored
patch by Kalle Raiskila! llvm-svn: 101875
-
Chris Lattner authored
loop unswitch, and use inst simplify instead. It is more powerful and less duplication. llvm-svn: 101874
-
Chris Lattner authored
inst simplify. No functionality change. llvm-svn: 101873
-
Chris Lattner authored
condition we're unswitching on. In this case, don't try to simplify the second copy of the loop which may be dead or not, but is probably a constant now. This fixes PR6879 llvm-svn: 101870
-
Chris Lattner authored
now that the testsuite has been updated. llvm-svn: 101866
-
Dan Gohman authored
llvm-svn: 101860
-
Bill Wendling authored
it as it's not dead. llvm-svn: 101855
-
Chris Lattner authored
an optimizer infinite loop on the file, PR6866. llvm-svn: 101854
-
Johnny Chen authored
d==15 is considered illegal. Return false instead of assert(). llvm-svn: 101852
-
Eric Christopher authored
shifts and null vectors. Autoupgrade these to what we'd lower them to. Add a testcase to exercise this. llvm-svn: 101851
-
Dan Gohman authored
in the case where a basic block is split. llvm-svn: 101850
-
Dan Gohman authored
SelectionDAGBuilder, where it doesn't have to be as complicated. llvm-svn: 101848
-
Chris Lattner authored
references to it. llvm-svn: 101847
-
Chris Lattner authored
llvm-svn: 101846
-
rdar://7879828Chris Lattner authored
Arg promotion was deleting call graph nodes that still had references from the 'indirect' CGN. Like the inliner, it should only delete the function if all references are gone. llvm-svn: 101845
-
Dan Gohman authored
responsible for figuring out what that's supposed to be on its own. llvm-svn: 101844
-
Dan Gohman authored
where multiple blocks are emitted; functions which do this need to return the new BB so that their callers can stay current. llvm-svn: 101843
-
Bob Wilson authored
the intrinsics. The reason for those i8* types is that the intrinsics are overloaded on the vector type and we don't have a way to declare an intrinsic where one argument is an overloaded vector type and another argument is a pointer to the vector element type. The bitcasts added here will match what the frontend will typically generate when these intrinsics are used. llvm-svn: 101840
-
Johnny Chen authored
llvm-svn: 101839
-
Dan Gohman authored
llvm-svn: 101832
-
Dan Gohman authored
and End arguments by-value rather than by-reference. llvm-svn: 101830
-
Johnny Chen authored
llvm-svn: 101827
-