| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 62073
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 62036
|
| |
|
|
| |
llvm-svn: 62023
|
| |
|
|
| |
llvm-svn: 62022
|
| |
|
|
| |
llvm-svn: 62015
|
| |
|
|
| |
llvm-svn: 62005
|
| |
|
|
| |
llvm-svn: 61999
|
| |
|
|
| |
llvm-svn: 61991
|
| |
|
|
|
|
| |
Now Users request DwarfWriter through getAnalysisUsage() instead of creating an instance of DwarfWriter object directly.
llvm-svn: 61955
|
| |
|
|
| |
llvm-svn: 61950
|
| |
|
|
| |
llvm-svn: 61928
|
| |
|
|
|
|
| |
* Removed trailing whitespace
llvm-svn: 61927
|
| |
|
|
|
|
| |
* Removed trailing whitespace
llvm-svn: 61926
|
| |
|
|
|
|
| |
Again, shamelessly copied from MMI.
llvm-svn: 61912
|
| |
|
|
|
|
| |
This is a shameless copy of similar APIs from MachineModuleInfo. The copy from MMI will be deleted in near future.
llvm-svn: 61908
|
| |
|
|
| |
llvm-svn: 61891
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
any of the physical register's sub-register live intervals overlaps with the virtual register. This is overly conservative. It prevents a extract_subreg from being coalesced away:
v1024 = EDI // not killed
=
= EDI
One possible solution is for the coalescer to examine the sub-register live intervals in the same manner as the physical register. Another possibility is to examine defs and uses (when needed) of sub-registers. Both solutions are too expensive. For now, look for "short virtual intervals" and scan instructions to look for conflict instead.
This is a small win on x86-64. e.g. It shaves 403.gcc by ~80 instructions.
llvm-svn: 61847
|
| |
|
|
|
|
|
|
| |
aggregate types. Don't increment the current index after reaching
the end of a struct, as it will already be pointing at
one-past-the end. This fixes PR3288.
llvm-svn: 61828
|
| |
|
|
| |
llvm-svn: 61822
|
| |
|
|
| |
llvm-svn: 61819
|
| |
|
|
|
|
|
|
|
|
|
| |
complicated by
two address instructions. We need to keep track of things we've processed AS USES
independetly of whether we've processed them as defs.
This fixes all known miscompilations when reconstruction is turned on.
llvm-svn: 61802
|
| |
|
|
|
|
| |
argument. This doesn't affect current functionality.
llvm-svn: 61779
|
| |
|
|
|
|
|
|
|
|
|
|
| |
AddPseudoTwoAddrDeps. This lets the scheduling infrastructure
avoid recalculating node heights. In very large testcases this
was a major bottleneck. Thanks to Roman Levenstein for finding
this!
As a side effect, fold-pcmpeqd-0.ll is now scheduled better
and it no longer requires spilling on x86-32.
llvm-svn: 61778
|
| |
|
|
| |
llvm-svn: 61772
|
| |
|
|
| |
llvm-svn: 61771
|
| |
|
|
| |
llvm-svn: 61768
|
| |
|
|
| |
llvm-svn: 61765
|
| |
|
|
|
|
| |
with latency 0, since it doesn't affect the depth or height.
llvm-svn: 61762
|
| |
|
|
|
|
| |
Add methods to add source location info in a DIE.
llvm-svn: 61761
|
| |
|
|
| |
llvm-svn: 61757
|
| |
|
|
| |
llvm-svn: 61741
|
| |
|
|
|
|
|
| |
own OpActionsCapacity magic number; it can just use ISD::BUILTIN_OP_END,
as long as it takes care to round up when needed.
llvm-svn: 61733
|
| |
|
|
| |
llvm-svn: 61731
|
| |
|
|
| |
llvm-svn: 61729
|
| |
|
|
| |
llvm-svn: 61726
|
| |
|
|
| |
llvm-svn: 61724
|
| |
|
|
|
|
| |
problem, rather than fixing it. The problem has now been fixed the right way.
llvm-svn: 61723
|
| |
|
|
| |
llvm-svn: 61715
|
| |
|
|
| |
llvm-svn: 61714
|
| |
|
|
| |
llvm-svn: 61711
|
| |
|
|
| |
llvm-svn: 61709
|
| |
|
|
| |
llvm-svn: 61707
|
| |
|
|
|
|
| |
of the pointer to the global.
llvm-svn: 61630
|
| |
|
|
|
|
|
|
|
|
| |
llvm::PATypeHolder::get() method when LLVM is self-hosted in Release
mode. Before the parser changed, there was a definition of llvm::PAHolder::get()
in llvmAsmParser.y. This was probably a bug that no-one noticed.
Explicitly #include the Type.h file as a temporary fix for now.
llvm-svn: 61620
|
| |
|
|
| |
llvm-svn: 61613
|
| |
|
|
| |
llvm-svn: 61612
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
instructions to avoid copies, because TwoAddressInstructionPass
also does this optimization. The scheduler's version didn't
account for live-out values, which resulted in spurious commutes
and missed opportunities.
Now, TwoAddressInstructionPass handles all the opportunities,
instead of just those that the scheduler missed. The result is
usually the same, though there are occasional trivial differences
resulting from the avoidance of spurious commutes.
llvm-svn: 61611
|
| |
|
|
|
|
|
| |
and BRCOND conditions. Reorder a few methods while
there.
llvm-svn: 61547
|
| |
|
|
| |
llvm-svn: 61545
|
| |
|
|
|
|
|
|
|
|
| |
promote from i1 all the way up to the canonical SetCC type.
In order to discover an appropriate type to use, pass
MVT::Other to getSetCCResultType. In order to be able to
do this, change getSetCCResultType to take a type as an
argument, not a value (this is also more logical).
llvm-svn: 61542
|