| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 136771
|
| |
|
|
|
|
| |
are out-of-scope.
llvm-svn: 136768
|
| |
|
|
| |
llvm-svn: 136759
|
| |
|
|
|
|
|
|
|
| |
- use SmallVectorImpl& for the function argument.
- ignore the operands on the GEP, even if they aren't constant! Much as we
pretend the malloc succeeds, we pretend that malloc + whatever-you-GEP'd-by
is not null. It's magic!
llvm-svn: 136757
|
| |
|
|
|
|
| |
instructions at the moment.
llvm-svn: 136756
|
| |
|
|
|
|
|
|
|
| |
Don't replace a gep/bitcast with 'undef' because that will form a "free(undef)"
which in turn means "unreachable". What we wanted was a no-op. Instead, analyze
the whole tree and look for all the instructions we need to delete first, then
delete them second, not relying on the use_list to stay consistent.
llvm-svn: 136752
|
| |
|
|
|
|
| |
the function, because the UnwindInst is going away.
llvm-svn: 136751
|
| |
|
|
| |
llvm-svn: 136742
|
| |
|
|
|
|
| |
This information is not used for anything yet.
llvm-svn: 136741
|
| |
|
|
|
|
|
| |
With a 'FirstDef' field right there, it is very confusing that FirstUse
refers to an instruction that may be a def.
llvm-svn: 136739
|
| |
|
|
| |
llvm-svn: 136738
|
| |
|
|
|
|
| |
Not especially pretty, but seems to work well enough. If this looks okay, I'll put together similar patches for Mips, PPC, and Alpha.
llvm-svn: 136737
|
| |
|
|
|
|
|
|
|
|
|
| |
This is either an invalid SlotIndex, or valno->def for the first value
defined inside the block. PHI values are not counted as defined inside
the block.
The FirstDef field will be used when estimating the cost of spilling
around a block.
llvm-svn: 136736
|
| |
|
|
| |
llvm-svn: 136735
|
| |
|
|
|
|
| |
malloc call.
llvm-svn: 136732
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PrefBoth constraint is used for blocks that ideally want a live-in
value both on the stack and in a register. This would be used by a block
that has a use before interference forces a spill.
Secondly, add the ChangesValue flag to BlockConstraint. This tells
SpillPlacement if a live-in value on the stack can be reused as a
live-out stack value for free. If the block redefines the virtual
register, a spill would be required for that.
This extra information will be used by SpillPlacement to more accurately
calculate spill costs when a value can exist both on the stack and in a
register.
The simplest example is a basic block that reads the virtual register,
but doesn't change its value. Spilling around such a block requires a
reload, but no spill in the block.
The spiller already knows this, but the spill placer doesn't. That can
sometimes lead to suboptimal regions.
llvm-svn: 136731
|
| |
|
|
|
|
| |
instruction's documentation to reference the landingpad and resume instructions.
llvm-svn: 136729
|
| |
|
|
| |
llvm-svn: 136727
|
| |
|
|
|
|
|
| |
but it solves a layering violation since things in Support are not supposed to
use things in Transforms.
llvm-svn: 136726
|
| |
|
|
|
|
| |
spam.
llvm-svn: 136723
|
| |
|
|
| |
llvm-svn: 136722
|
| |
|
|
| |
llvm-svn: 136721
|
| |
|
|
| |
llvm-svn: 136718
|
| |
|
|
|
|
|
|
|
| |
externally visable, create a local symbol to use in the CFE. If not, use the
function label itself.
Fixes PR10420.
llvm-svn: 136716
|
| |
|
|
|
|
| |
The testcase looks extremely fragile, so I'm adding an assertion which should catch any cases like this.
llvm-svn: 136711
|
| |
|
|
|
|
| |
well as the comments that explain them incorrectly.
llvm-svn: 136707
|
| |
|
|
| |
llvm-svn: 136705
|
| |
|
|
|
|
| |
Use a more descriptive name so the code is more self-documenting.
llvm-svn: 136704
|
| |
|
|
|
|
| |
This unbreaks some tests.
llvm-svn: 136692
|
| |
|
|
|
|
|
|
|
| |
shuffle (scalar_to_vector (load (ptr + 4))), undef, <0, 0, 0, 0>
To:
shuffle (vload ptr)), undef, <1, 1, 1, 1>
Fix PR10494
llvm-svn: 136691
|
| |
|
|
| |
llvm-svn: 136690
|
| |
|
|
|
|
| |
to compile a working hello world on FreeBSD/PPC32.
llvm-svn: 136689
|
| |
|
|
| |
llvm-svn: 136684
|
| |
|
|
|
|
|
| |
The 'unwind' function is going away with the new EH rewrite. This is step 0 in
keeping front-ends from using it.
llvm-svn: 136683
|
| |
|
|
| |
llvm-svn: 136677
|
| |
|
|
| |
llvm-svn: 136675
|
| |
|
|
|
|
| |
llvm-gcc buildbots on i386. Devang is looking into the root cause.
llvm-svn: 136674
|
| |
|
|
|
|
|
|
|
|
| |
for awhile, but it's good to make this official.
Just to be clear, Doug and Ted "elected" me to this position.
Might as well add myself to the credits list while I'm at it.
llvm-svn: 136673
|
| |
|
|
| |
llvm-svn: 136668
|
| |
|
|
| |
llvm-svn: 136665
|
| |
|
|
|
|
| |
Krasin!
llvm-svn: 136663
|
| |
|
|
|
|
| |
encodings like "let Inst{11-7} = foo;", where the RHS has no bitwidth specifiers.
llvm-svn: 136660
|
| |
|
|
| |
llvm-svn: 136656
|
| |
|
|
| |
llvm-svn: 136655
|
| |
|
|
|
|
|
| |
the legalizer. This commit together with the two previous ones fixes
PR10495.
llvm-svn: 136654
|
| |
|
|
| |
llvm-svn: 136653
|
| |
|
|
|
|
| |
using a stack store.
llvm-svn: 136652
|
| |
|
|
| |
llvm-svn: 136646
|
| |
|
|
|
|
| |
decoder hooks in addition to per-operand decoder hooks.
llvm-svn: 136645
|
| |
|
|
|
|
|
|
|
|
|
| |
TableGen deps introduced in r136023. This completes the fixing that
dgregor started in r136621. Sorry for missing these the first time
around.
This should fix some of the random race-condition failures people are
still seeing with CMake.
llvm-svn: 136643
|