- Jan 13, 2010
-
-
Chris Lattner authored
different BlockAddress labels, but nothing semantically important. Add a FIXME that BlockAddress codegen is broken if the LLVM BB has an empty name (e.g. strip was run). llvm-svn: 93303
-
Chris Lattner authored
Among other things, this would do very weird things if the basic block name had (e.g.) a space in it on darwin: makeNameProper would add quotes, then the mcsymbol would escape the quotes. llvm-svn: 93302
-
Chris Lattner authored
instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. llvm-svn: 93298
-
Chris Lattner authored
llvm-svn: 93293
-
Chris Lattner authored
llvm-svn: 93292
-
Chris Lattner authored
integers on 64-bit systems. llvm-svn: 93291
-
Chris Lattner authored
llvm-svn: 93290
-
Evan Cheng authored
llvm-svn: 93286
-
Evan Cheng authored
llvm-svn: 93285
-
Ted Kremenek authored
llvm-svn: 93283
-
Evan Cheng authored
Add a quick pass to optimize sign / zero extension instructions. For targets where the pre-extension values are available in the subreg of the result of the extension, replace the uses of the pre-extension value with the result + extract_subreg. For now, this pass is fairly conservative. It only perform the replacement when both the pre- and post- extension values are used in the block. It will miss cases where the post-extension values are live, but not used. llvm-svn: 93278
-
Dale Johannesen authored
dumper doesn't really do what I want yet, but at least it doesn't crash now. llvm-svn: 93272
-
- Jan 12, 2010
-
-
Bob Wilson authored
llvm-svn: 93261
-
Dan Gohman authored
llvm-svn: 93228
-
Dan Gohman authored
llvm-svn: 93227
-
- Jan 11, 2010
-
-
Jakob Stoklund Olesen authored
This fixes PR5980. llvm-svn: 93184
-
Mon P Wang authored
loads are not in the default address space because the transformation discards src value info. llvm-svn: 93180
-
Devang Patel authored
llvm-svn: 93165
-
- Jan 09, 2010
-
-
Dan Gohman authored
really does need to be a vector type, because TargetLowering::getOperationAction for SIGN_EXTEND_INREG uses that type, and it needs to be able to distinguish between vectors and scalars. Also, fix some more issues with legalization of vector casts. llvm-svn: 93043
-
Evan Cheng authored
Dan pointed out checking whether a node is dead by comparing its opcode to ISD::DELETED_NODE is not safe. Use a DAGUpdateListener to remove dead nodes from work list instead. llvm-svn: 93031
-
- Jan 08, 2010
-
-
Evan Cheng authored
ReplaceAllUsesOfValueWith may delete other nodes that the one being replaced. Do not delete dead nodes again. llvm-svn: 92988
-
- Jan 07, 2010
-
-
rdar://7517201Chris Lattner authored
When folding a and(any_ext(load)) both the any_ext and the load have to have only a single use. This removes the anyext-uses.ll testcase which started failing because it is unreduced and unclear what it is testing. llvm-svn: 92950
-
Chris Lattner authored
time, no functionality change. llvm-svn: 92948
-
Evan Cheng authored
llvm-svn: 92943
-
Benjamin Kramer authored
llvm-svn: 92938
-
Benjamin Kramer authored
llvm-svn: 92920
-
Benjamin Kramer authored
llvm-svn: 92919
-
Benjamin Kramer authored
llvm-svn: 92918
-
Jakob Stoklund Olesen authored
llvm-svn: 92874
-
Jakob Stoklund Olesen authored
Some instructions refer to unique labels, and so cannot be trivially cloned with CloneMachineInstr. llvm-svn: 92873
-
- Jan 06, 2010
-
-
Jim Grosbach authored
multiple register definitions. llvm-svn: 92864
-
Evan Cheng authored
llvm-svn: 92850
-
Evan Cheng authored
(OP (trunc x), (trunc y)) -> (trunc (OP x, y)) Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel. This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places. llvm-svn: 92849
-
Jim Grosbach authored
llvm-svn: 92837
-
Lang Hames authored
llvm-svn: 92830
-
Jakob Stoklund Olesen authored
An instruction like this: %reg1097:1<def> = VMOVSR %R3<kill>, 14, %reg0 Must be replaced with this when substituting physical registers: %S0<def> = VMOVSR %R3<kill>, 14, %reg0, %D0<imp-def> llvm-svn: 92812
-
Bill Wendling authored
llvm-svn: 92810
-
Bill Wendling authored
llvm-svn: 92807
-
Bill Wendling authored
bottom-up scheduler. We prefer the lower order number. llvm-svn: 92806
-
- Jan 05, 2010
-
-
Bill Wendling authored
result in illegal types for the SHL operator. llvm-svn: 92797
-