- Sep 17, 2008
-
-
Daniel Dunbar authored
Ensure that ABIArgInfo::Default implementation for aggregrate types is sensible (StructRet on return and ByVal on arguments). No functionality change. llvm-svn: 56289
-
Steve Naroff authored
Block literals are now represented by the concrete BlockExpr class. This is cleanup (removes a FIXME). No functionality change. llvm-svn: 56288
-
Evan Cheng authored
llvm-svn: 56287
-
Devang Patel authored
llvm-svn: 56286
-
Daniel Dunbar authored
llvm-svn: 56285
-
Devang Patel authored
This one slipped through cracks very well. llvm-svn: 56284
-
Devang Patel authored
llvm-svn: 56282
-
Dan Gohman authored
llvm-svn: 56281
-
-
Evan Cheng authored
llvm-svn: 56277
-
Evan Cheng authored
llvm-svn: 56276
-
Evan Cheng authored
llvm-svn: 56275
-
Ted Kremenek authored
llvm-svn: 56274
-
Zhongxing Xu authored
llvm-svn: 56271
-
Dan Gohman authored
up some new ascii art to illustrate what it does. This change currently has no effect on generated code. llvm-svn: 56270
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 56269
-
Dan Gohman authored
be used with fast-isel. llvm-svn: 56268
-
Bill Wendling authored
function with appropriate parameters. This allows us to support blocks on PPC. llvm-svn: 56267
-
Steve Naroff authored
llvm-svn: 56266
-
Devang Patel authored
llvm-svn: 56265
-
Daniel Dunbar authored
llvm-svn: 56262
-
Ted Kremenek authored
llvm-svn: 56261
-
Ted Kremenek authored
if we know that 'len != 0' and know that 'i == 0' then we know that 'i < len' must evaluate to true and cannot evaluate to false llvm-svn: 56260
-
Ted Kremenek authored
llvm-svn: 56259
-
Evan Cheng authored
When converting a CopyFromReg to a copy instruction, use the register class of its uses to determine the right destination register class of the copy. This is important for targets where a physical register may belong to multiple register classes. llvm-svn: 56258
-
Steve Naroff authored
^(expression) or ^(int arg1, float arg2)(expression) ...is no longer supported. All block literals now require a compound statement. llvm-svn: 56257
-
Devang Patel authored
llvm-svn: 56256
-
Devang Patel authored
llvm-svn: 56255
-
Steve Naroff authored
Sema::CheckReturnStackAddr(): Make sure we skip over implicit casts. Added some more test cases... llvm-svn: 56254
-
Dan Gohman authored
ConstantPoolSDNode, using the target's preferred alignment for the constant type. In LegalizeDAG, when performing loads from the constant pool, the ConstantPoolSDNode's alignment is used in the calls to getLoad and getExtLoad. This change prevents SelectionDAG::getLoad/getExtLoad from incorrectly choosing the ABI alignment for constant pool loads when Alignment == 0. The incorrect alignment is only a performance issue when ABI alignment does not equal preferred alignment (i.e., on x86 it was generating MOVUPS instead of MOVAPS for v4f32 constant loads when the default ABI alignment for 128bit vectors is forced to 1 byte.) Patch by Paul Redmond! llvm-svn: 56253
-
- Sep 16, 2008
-
-
Bill Wendling authored
Apologies for the thrashing. llvm-svn: 56251
-
Dan Gohman authored
llvm-svn: 56250
-
Bill Wendling authored
- Add linkage to SymbolSDNode (default to external). - Change ISD::ExternalSymbol to ISD::Symbol. - Change ISD::TargetExternalSymbol to ISD::TargetSymbol These changes pave the way to allowing SymbolSDNodes with non-external linkage. llvm-svn: 56249
-
Dan Gohman authored
MachineConstantPool::getConstantPoolIndex actually expects a log2-encoded alignment. llvm-svn: 56248
-
Dan Gohman authored
of r56230, r56232, and r56246. llvm-svn: 56247
-
Dan Gohman authored
- Recognize expressions like "x > -1 ? x : 0" as min/max and turn them into expressions like "x < 0 ? 0 : x", which is easily recognizable as a min/max operation. - Refrain from folding expression like "y/2 < 1" to "y < 2" when the comparison is being used as part of a min or max idiom, like "y/2 < 1 ? 1 : y/2". In that case, the division has another use, so folding doesn't eliminate it, and obfuscates the min/max, making it harder to recognize as a min/max operation. These benefit ScalarEvolution, CodeGen, and anything else that wants to recognize integer min and max. llvm-svn: 56246
-
Ted Kremenek authored
motivated because it became clear that the number of subclasses of ProgramPoint would expand and we ran out of bits to represent a pointer variant. As a plus of this change, BlockEdge program points can now be represented explicitly without using a cache of CFGBlock* pairs in CFG. llvm-svn: 56245
-
Evan Cheng authored
llvm-svn: 56244
-
Dan Gohman authored
llvm-svn: 56243
-
Zhongxing Xu authored
llvm-svn: 56242
-