| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
|  | 
llvm-svn: 53417
 | 
| | 
| 
| 
| 
| 
|  | 
in the repository.
llvm-svn: 53416
 | 
| | 
| 
| 
| 
| 
|  | 
other passes.
llvm-svn: 53415
 | 
| | 
| 
| 
| 
| 
|  | 
to IndexedMap.
llvm-svn: 53414
 | 
| | 
| 
| 
|  | 
llvm-svn: 53413
 | 
| | 
| 
| 
| 
| 
|  | 
Environment/EnvironmentManager.
llvm-svn: 53412
 | 
| | 
| 
| 
|  | 
llvm-svn: 53411
 | 
| | 
| 
| 
| 
| 
|  | 
his work on legalizetypes.
llvm-svn: 53410
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Be nice to 16 bit machines by supporting FP_TO_XINT
expansion for these.
llvm-svn: 53407
 | 
| | 
| 
| 
|  | 
llvm-svn: 53406
 | 
| | 
| 
| 
| 
| 
| 
|  | 
was doing there: FP_ROUND returns a float, not an
integer.
llvm-svn: 53405
 | 
| | 
| 
| 
| 
| 
| 
|  | 
in CreateStackStoreLoad is good enough for both
the source and destination types.
llvm-svn: 53404
 | 
| | 
| 
| 
|  | 
llvm-svn: 53403
 | 
| | 
| 
| 
| 
| 
|  | 
a ginormous value (eg: i128 -1).
llvm-svn: 53402
 | 
| | 
| 
| 
|  | 
llvm-svn: 53401
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
|  | 
llvm-svn: 53393
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
linked from anywhere. It will be linked when content is filled in.
Page by Csaba Hruska!
llvm-svn: 53392
 | 
| | 
| 
| 
|  | 
llvm-svn: 53391
 | 
| | 
| 
| 
| 
| 
|  | 
improves the time on instcombine from .31s to .22s
llvm-svn: 53390
 | 
| | 
| 
| 
|  | 
llvm-svn: 53389
 | 
| | 
| 
| 
|  | 
llvm-svn: 53388
 | 
| | 
| 
| 
| 
| 
|  | 
though that would be nice and make sense :).  Patch by Nathan Keynes!
llvm-svn: 53387
 | 
| | 
| 
| 
|  | 
llvm-svn: 53386
 | 
| | 
| 
| 
|  | 
llvm-svn: 53385
 | 
| | 
| 
| 
| 
| 
|  | 
of all undefs into a single undef value.
llvm-svn: 53384
 | 
| | 
| 
| 
| 
| 
|  | 
infinite recursion.  part of PR2529
llvm-svn: 53383
 | 
| | 
| 
| 
| 
| 
|  | 
constants by element without caring how they are formed.
llvm-svn: 53382
 | 
| | 
| 
| 
| 
| 
|  | 
constants by element without caring how they are formed.
llvm-svn: 53381
 | 
| | 
| 
| 
| 
| 
|  | 
it for PR2529
llvm-svn: 53380
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up.
- Some code clean up.
llvm-svn: 53379
 | 
| | 
| 
| 
|  | 
llvm-svn: 53378
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
(by Preprocessor::LookNext):
-Remove ParseExpressionWithLeadingIdentifier and ParseAssignmentExprWithLeadingIdentifier.
-Separate ParseLabeledStatement from ParseIdentifierStatement.
llvm-svn: 53376
 | 
| | 
| 
| 
| 
| 
|  | 
'take a peek' at the next token without consuming it.
llvm-svn: 53375
 | 
| | 
| 
| 
| 
| 
|  | 
of examining every operand of every user.
llvm-svn: 53374
 | 
| | 
| 
| 
|  | 
llvm-svn: 53373
 | 
| | 
| 
| 
| 
| 
| 
|  | 
getMemOperand function to be moved into the base class as well
and made non-virtual.
llvm-svn: 53372
 | 
| | 
| 
| 
| 
| 
| 
|  | 
constant pool, if relocation model is not static. This directly maps to
the way how GCC works.
llvm-svn: 53370
 | 
| | 
| 
| 
|  | 
llvm-svn: 53369
 | 
| | 
| 
| 
|  | 
llvm-svn: 53368
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
def'd by the same instruction, but about the details of
the relationship.
llvm-svn: 53367
 | 
| | 
| 
| 
|  | 
llvm-svn: 53365
 | 
| | 
| 
| 
| 
| 
|  | 
I cannot test this target, let me know if it breaks!
llvm-svn: 53363
 | 
| | 
| 
| 
| 
| 
|  | 
I cannot test this target, let me know if it breaks!
llvm-svn: 53362
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
|  | 
llvm-svn: 53360
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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
 |