- Jul 10, 2008
-
-
Chris Lattner authored
llvm-svn: 53411
-
Chris Lattner authored
his work on legalizetypes. llvm-svn: 53410
-
Duncan Sands authored
Lack of these caused a bootstrap failure with Fortran on x86-64 with LegalizeTypes turned on. While there, be nice to 16 bit machines and support expansion of i32 too. llvm-svn: 53408
-
Duncan Sands authored
Be nice to 16 bit machines by supporting FP_TO_XINT expansion for these. llvm-svn: 53407
-
Duncan Sands authored
llvm-svn: 53406
-
Duncan Sands authored
was doing there: FP_ROUND returns a float, not an integer. llvm-svn: 53405
-
Duncan Sands authored
in CreateStackStoreLoad is good enough for both the source and destination types. llvm-svn: 53404
-
Duncan Sands authored
llvm-svn: 53403
-
Duncan Sands authored
a ginormous value (eg: i128 -1). llvm-svn: 53402
-
Duncan Sands authored
llvm-svn: 53401
-
Matthijs Kooijman authored
Rewrite the DeadArgumentElimination pass, to use a more explicit tracking of dependencies between return values and/or arguments. Also make the handling of arguments and return values the same. The pass now looks properly inside returned structs, but only at the first level (ie, not inside nested structs). This version fixed a few more bugs and was cleaned up a bit. It now passes all of LLVM's testing, and should still pass SPEC2006. There is still a minor bug with regard to returning nested structs. Since there is currently nothing that emits such IR, I will fix that in a seperate commit (partly because it requires a non-trivial fix). llvm-svn: 53400
-
Evan Cheng authored
- Change the horrible N^2 isRegReDefinedByTwoAddr. Now callers must supply the operand index of def machineoperand and at most one full scan of non-implicit operands is needed. - Change local register allocator to use the new isRegReDefinedByTwoAddr instead of reinventing the wheel. llvm-svn: 53394
-
Nick Lewycky authored
llvm-svn: 53393
-
Owen Anderson authored
Use DenseMap instead of std::map in local register allocation. This improves the time on instcombine from .31s to .22s llvm-svn: 53390
-
Owen Anderson authored
llvm-svn: 53389
-
Owen Anderson authored
llvm-svn: 53388
-
Chris Lattner authored
though that would be nice and make sense :). Patch by Nathan Keynes! llvm-svn: 53387
-
Evan Cheng authored
llvm-svn: 53386
-
Chris Lattner authored
llvm-svn: 53385
-
Chris Lattner authored
of all undefs into a single undef value. llvm-svn: 53384
-
Chris Lattner authored
infinite recursion. part of PR2529 llvm-svn: 53383
-
Chris Lattner authored
constants by element without caring how they are formed. llvm-svn: 53382
-
Chris Lattner authored
constants by element without caring how they are formed. llvm-svn: 53381
-
Chris Lattner authored
it for PR2529 llvm-svn: 53380
-
Evan Cheng authored
- Replace use of std::map<std::string, ..> with StringMap. Replace use of std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up. - Some code clean up. llvm-svn: 53379
-
Owen Anderson authored
llvm-svn: 53378
-
Dan Gohman authored
makes their special-case checks of use_size() less beneficial, so remove them. This eliminates all but one use of use_size(), which is in AssignTopologicalOrder, which uses it only once for each node, and so can reasonably afford to recompute it, as this allows the UsesSize field of SDNode to be removed altogether. llvm-svn: 53377
-
Dan Gohman authored
of examining every operand of every user. llvm-svn: 53374
-
Dan Gohman authored
getMemOperand function to be moved into the base class as well and made non-virtual. llvm-svn: 53372
-
- Jul 09, 2008
-
-
Anton Korobeynikov authored
constant pool, if relocation model is not static. This directly maps to the way how GCC works. llvm-svn: 53370
-
Evan Cheng authored
llvm-svn: 53369
-
Anton Korobeynikov authored
llvm-svn: 53368
-
Owen Anderson authored
Loosen our check here. Local regalloc only cares that the reg is used and def'd by the same instruction, but about the details of the relationship. llvm-svn: 53367
-
Dale Johannesen authored
llvm-svn: 53365
-
Dale Johannesen authored
I cannot test this target, let me know if it breaks! llvm-svn: 53363
-
Dale Johannesen authored
I cannot test this target, let me know if it breaks! llvm-svn: 53362
-
Dan Gohman authored
class, and store IsVolatile and Alignment in a more compact form. This makes AtomicSDNode slightly larger, but it shrinks LoadSDNode and StoreSDNode, which are much more common and are the largest of the SDNode subclasses. Also, this lets the isVolatile() and getAlignment() accessors be non-virtual. llvm-svn: 53361
-
Dale Johannesen authored
llvm-svn: 53360
-
Owen Anderson authored
Don't use an expensive check for two-address-ness when we have the information sitting around to determine it much more quickly, This speeds up the local register allocator from 0.37s to 0.31s on instcombine. llvm-svn: 53359
-
Dale Johannesen authored
is X86 ATT only. llvm-svn: 53355
-