| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
the pointer values could be invalid.
llvm-svn: 95813
|
|
|
|
|
|
| |
changed its behavior. Oops.
llvm-svn: 95811
|
|
|
|
|
|
| |
different word was intended.
llvm-svn: 95795
|
|
|
|
| |
llvm-svn: 95781
|
|
|
|
|
|
| |
leave some obvious nops which dag combine used to clean up afterwards e.g. (trunk (ext n)) -> n. Look for them and squash them.
llvm-svn: 95757
|
|
|
|
| |
llvm-svn: 95749
|
|
|
|
| |
llvm-svn: 95748
|
|
|
|
| |
llvm-svn: 95747
|
|
|
|
|
|
| |
rather than asserting.
llvm-svn: 95746
|
|
|
|
| |
llvm-svn: 95745
|
|
|
|
| |
llvm-svn: 95740
|
|
|
|
|
|
|
|
|
| |
register coalescing. This fixes many crashes and
places where debug info affects codegen (when
dbg.value is lowered to machine instructions, which
it isn't yet in TOT).
llvm-svn: 95739
|
|
|
|
|
|
|
|
|
|
|
|
| |
The major win of this is that the code is simpler and they
print on the same line as the instruction again:
movl %eax, 96(%esp) ## 4-byte Spill
movl 96(%esp), %eax ## 4-byte Reload
cmpl 92(%esp), %eax ## 4-byte Folded Reload
jl LBB7_86
llvm-svn: 95738
|
|
|
|
| |
llvm-svn: 95737
|
|
|
|
| |
llvm-svn: 95736
|
|
|
|
|
|
| |
the field from being used uninitialized later in some cases.
llvm-svn: 95735
|
|
|
|
|
|
| |
OutStreamer.AddBlankLine instead of textually.
llvm-svn: 95734
|
|
|
|
| |
llvm-svn: 95730
|
|
|
|
| |
llvm-svn: 95711
|
|
|
|
| |
llvm-svn: 95707
|
|
|
|
|
|
|
|
|
| |
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.
llvm-svn: 95687
|
|
|
|
|
|
| |
Patch by M Wahab!
llvm-svn: 95668
|
|
|
|
| |
llvm-svn: 95647
|
|
|
|
|
|
| |
the definition.
llvm-svn: 95646
|
|
|
|
|
|
| |
Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with.
llvm-svn: 95636
|
|
|
|
|
|
| |
memory access bug in the heuristic solver.
llvm-svn: 95633
|
|
|
|
|
|
|
| |
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.
llvm-svn: 95620
|
|
|
|
|
|
|
| |
MCSymbol, we can remove the 'suffix' argument of
GetBlockAddressSymbol. Do so.
llvm-svn: 95601
|
|
|
|
|
|
| |
expression; don't go into an infinite loop if it does.
llvm-svn: 95591
|
|
|
|
|
|
|
|
|
| |
in global initializers. Instead of aborting, attempt to fold them on the
spot. If folding succeeds, emit the folded expression instead.
This fixes PR6255.
llvm-svn: 95583
|
|
|
|
|
|
|
| |
we can get in here if FastISel gives up in a block.
(Actually the two copies of this need to be unified. Later.)
llvm-svn: 95579
|
|
|
|
|
|
| |
for blocks ending in "unreachable".
llvm-svn: 95565
|
|
|
|
|
|
|
|
|
| |
warns about this base class not having a virtual destructor, but since
this class has no virtual methods and neither it or the types derived
from it has a destructor, a protected trivial destructor will do (and
shuts cppcheck up) the trick without the cost of introducing a vtable.
llvm-svn: 95526
|
|
|
|
|
|
|
|
|
|
| |
only run for x86 with fastisel. I've found it being very effective in
eliminating some obvious dead code as result of formal parameter lowering
especially when tail call optimization eliminated the need for some of the loads
from fixed frame objects. It also shrinks a number of the tests. A couple of
tests no longer make sense and are now eliminated.
llvm-svn: 95493
|
|
|
|
| |
llvm-svn: 95488
|
|
|
|
|
|
|
| |
addresses in dbg.declare; ignore this for the
moment to prevent things from breaking.
llvm-svn: 95471
|
|
|
|
| |
llvm-svn: 95461
|
|
|
|
| |
llvm-svn: 95452
|
|
|
|
|
|
|
|
| |
predecessors to the unfolded load. It decides what gets moved to the load by checking whether the new load is using the predecessor as an operand. The check neglects the cases whether the predecessor is a flagged scheduling unit.
rdar://7604000
llvm-svn: 95339
|
|
|
|
|
|
|
|
|
|
|
| |
following it. However, the EmitGlobalConstant method wasn't emitting a body for
the constant. The assembler doesn't like that. Before, we were generating this:
.zerofill __DATA, __common, __cmd, 1, 3
This fix puts us back to that semantic.
llvm-svn: 95336
|
|
|
|
| |
llvm-svn: 95322
|
|
|
|
|
|
|
|
|
| |
operand.
ProcessImplicitDefs would only mark one operand per instruction with <undef>.
This fixed PR6086.
llvm-svn: 95319
|
|
|
|
|
|
| |
optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied about what it's doing).
llvm-svn: 95282
|
|
|
|
| |
llvm-svn: 95242
|
|
|
|
| |
llvm-svn: 95240
|
|
|
|
|
|
|
| |
of const ones. non-const ones aren't very useful, because you can't
even, say, emit them.
llvm-svn: 95205
|
|
|
|
|
|
|
| |
add -filetype=null for performance testing and remove -filetype=dynlib,
which isn't planned to be implemented.
llvm-svn: 95202
|
|
|
|
| |
llvm-svn: 95198
|
|
|
|
|
|
| |
if the callee is a result of bitcast to avoid losing necessary zext / sext etc.
llvm-svn: 95195
|
|
|
|
|
|
| |
.o files don't like that.
llvm-svn: 95187
|