- Nov 29, 2007
-
-
Evan Cheng authored
llvm-svn: 44434
-
Duncan Sands authored
llvm-svn: 44433
-
Evan Cheng authored
llvm-svn: 44428
-
Evan Cheng authored
llvm-svn: 44427
-
- Nov 28, 2007
-
-
Chris Lattner authored
unsigned char *llvm_cbe_X; ... llvm_cbe_X = 0; *((void**)&llvm_cbe_X) = __builtin_stack_save(); instead of: llvm_cbe_X = __builtin_stack_save(); See PR1809 for details. llvm-svn: 44415
-
Chris Lattner authored
CodeGen/Generic/fp_to_int.ll among others. Its unclear why this just started failing... llvm-svn: 44407
-
Chris Lattner authored
llvm-svn: 44406
-
Duncan Sands authored
use them. llvm-svn: 44403
-
Duncan Sands authored
in this call: Result.IntVal = APInt(80, 2, x); What is x? uint16_t x[8]; I deduce that the APInt constructor being used is this one: APInt(uint32_t numBits, uint64_t val, bool isSigned = false); rather than this one: APInt(uint32_t numBits, uint32_t numWords, const uint64_t bigVal[]); That doesn't seem right! This fix compiles but is otherwise completely untested. llvm-svn: 44400
-
Duncan Sands authored
llvm-svn: 44399
-
Evan Cheng authored
llvm-svn: 44386
-
- Nov 27, 2007
-
-
Owen Anderson authored
llvm-svn: 44384
-
Chris Lattner authored
llvm-svn: 44382
-
Chris Lattner authored
llvm-svn: 44380
-
Chris Lattner authored
llvm-svn: 44378
-
Chris Lattner authored
llvm-svn: 44374
-
Chris Lattner authored
with not being able to find printf. llvm-svn: 44373
-
Nate Begeman authored
llvm-svn: 44371
-
Andrew Lenharth authored
llvm-svn: 44370
-
Chris Lattner authored
introduced by this patch: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071126/055824.html llvm-svn: 44364
-
Duncan Sands authored
the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
-
Chris Lattner authored
llvm-svn: 44352
-
Chris Lattner authored
llvm-svn: 44351
-
Owen Anderson authored
Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. This involves a small interface change. llvm-svn: 44348
-
Dan Gohman authored
optimized. This avoids creating illegal divisions when the combiner is running after legalize; this fixes PR1815. Also, it produces better code in the included testcase by avoiding the subtract and multiply when the division isn't optimized. llvm-svn: 44341
-
- Nov 26, 2007
-
-
Owen Anderson authored
llvm-svn: 44325
-
Owen Anderson authored
llvm-svn: 44324
-
Owen Anderson authored
llvm-svn: 44323
-
Anton Korobeynikov authored
llvm-svn: 44320
-
- Nov 25, 2007
-
-
Nick Lewycky authored
llvm-svn: 44319
-
Chris Lattner authored
llvm-svn: 44318
-
Duncan Sands authored
trivial difference in function attributes, allow calls to it to be converted to direct calls. Based on a patch by Török Edwin. While there, move the various lists of mutually incompatible parameters etc out of the verifier and into ParameterAttributes.h. llvm-svn: 44315
-
Chris Lattner authored
sometimes emit "zero" and "all one" vectors multiple times, for example: _test2: pcmpeqd %mm0, %mm0 movq %mm0, _M1 pcmpeqd %mm0, %mm0 movq %mm0, _M2 ret instead of: _test2: pcmpeqd %mm0, %mm0 movq %mm0, _M1 movq %mm0, _M2 ret This patch fixes this by always arranging for zero/one vectors to be defined as v4i32 or v2i32 (SSE/MMX) instead of letting them be any random type. This ensures they get trivially CSE'd on the dag. This fix is also important for LegalizeDAGTypes, as it gets unhappy when the x86 backend wants BUILD_VECTOR(i64 0) to be legal even when 'i64' isn't legal. This patch makes the following changes: 1) X86TargetLowering::LowerBUILD_VECTOR now lowers 0/1 vectors into their canonical types. 2) The now-dead patterns are removed from the SSE/MMX .td files. 3) All the patterns in the .td file that referred to immAllOnesV or immAllZerosV in the wrong form now use *_bc to match them with a bitcast wrapped around them. 4) X86DAGToDAGISel::SelectScalarSSELoad is generalized to handle bitcast'd zero vectors, which simplifies the code actually. 5) getShuffleVectorZeroOrUndef is updated to generate a shuffle that is legal, instead of generating one that is illegal and expecting a later legalize pass to clean it up. 6) isZeroShuffle is generalized to handle bitcast of zeros. 7) several other minor tweaks. This patch is definite goodness, but has the potential to cause random code quality regressions. Please be on the lookout for these and let me know if they happen. llvm-svn: 44310
-
- Nov 24, 2007
-
-
Chris Lattner authored
llvm-svn: 44304
-
Chris Lattner authored
llvm-svn: 44303
-
Chris Lattner authored
among others. llvm-svn: 44302
-
Chris Lattner authored
Improve a comment. Unbreak Duncan's carefully written path compression where I didn't realize what was happening! llvm-svn: 44301
-
Chris Lattner authored
1) Change the interface to TargetLowering::ExpandOperationResult to take and return entire NODES that need a result expanded, not just the value. This allows us to handle things like READCYCLECOUNTER, which returns two values. 2) Implement (extremely limited) support in LegalizeDAG::ExpandOp for MERGE_VALUES. 3) Reimplement custom lowering in LegalizeDAGTypes in terms of the new ExpandOperationResult. This makes the result simpler and fully general. 4) Implement (fully general) expand support for MERGE_VALUES in LegalizeDAGTypes. 5) Implement ExpandOperationResult support for ARM f64->i64 bitconvert and ARM i64 shifts, allowing them to work with LegalizeDAGTypes. 6) Implement ExpandOperationResult support for X86 READCYCLECOUNTER and FP_TO_SINT, allowing them to work with LegalizeDAGTypes. LegalizeDAGTypes now passes several more X86 codegen tests when enabled and when type legalization in LegalizeDAG is ifdef'd out. llvm-svn: 44300
-
Chris Lattner authored
llvm-svn: 44299
-
- Nov 23, 2007
-
-
Chris Lattner authored
llvm-svn: 44296
-