| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 185520
|
|
|
|
|
|
| |
specifying the vector size.
llvm-svn: 185514
|
|
|
|
|
|
| |
specifying vector size.
llvm-svn: 185513
|
|
|
|
|
|
| |
avoid specifying the vector size unnecessarily.
llvm-svn: 185512
|
|
|
|
|
|
| |
specifying the vector size.
llvm-svn: 185509
|
|
|
|
|
|
| |
size doesn't have to repeated when creating iterators for the DenseMap.
llvm-svn: 185508
|
|
|
|
|
|
| |
having to specify the vector size in multiple places.
llvm-svn: 185507
|
|
|
|
|
|
| |
respecifying the small vector size.
llvm-svn: 185505
|
|
|
|
|
|
| |
specifying the vector size.
llvm-svn: 185504
|
|
|
|
|
|
|
| |
avoid adding information for the debug_inlined section when it isn't
going to be emitted anyhow.
llvm-svn: 185500
|
|
|
|
| |
llvm-svn: 185498
|
|
|
|
| |
llvm-svn: 185497
|
|
|
|
|
|
| |
grep.
llvm-svn: 185496
|
|
|
|
| |
llvm-svn: 185495
|
|
|
|
| |
llvm-svn: 185492
|
|
|
|
|
|
| |
true, so remove the return value and propagate accordingly.
llvm-svn: 185490
|
|
|
|
|
|
|
|
| |
Correctly handles ref_addr depending on the Dwarf version. Emit Dwarf with
version from module flag.
TODO: turn on/off features depending on the Dwarf version.
llvm-svn: 185484
|
|
|
|
| |
llvm-svn: 185480
|
|
|
|
|
|
|
|
|
|
|
| |
This allows getDebugThreadLocalSymbol to return a generic MCExpr
instead of just a MCSymbolRefExpr.
This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.
llvm-svn: 185460
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the AddrPool infrastructure to enable it to hold
generic MCExpr expressions, not just MCSymbolRefExpr.
This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.
llvm-svn: 185459
|
|
|
|
|
|
|
|
|
|
|
|
| |
This partially reverts r185202 and restores DIELabel to hold plain
MCSymbol references. Instead, we add a new subclass DIEExpr of
DIEValue that can hold generic MCExpr references.
This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.
llvm-svn: 185458
|
|
|
|
|
|
|
|
|
|
|
| |
"Remove floating point computations form SpillPlacement.cpp."
These commits caused test failures in lencod on clang-native-arm-lnt.
I suspect these changes are only exposing an existing issue, but
reverting anyway to keep the bots passing while we investigate.
llvm-svn: 185447
|
|
|
|
|
|
|
|
| |
This is dead code since PIC16 was removed in 2010. The result was an odd mix,
where some parts would carefully pass it along and others would assert it was
zero (most of the object streamer for example).
llvm-svn: 185436
|
|
|
|
|
|
|
|
|
|
| |
DAGCombiner was counting all uses of a load node when considering whether it's
worth combining into a zextload. Really, it wants to ignore the chain and just
count real uses.
rdar://problem/13896307
llvm-svn: 185419
|
|
|
|
| |
llvm-svn: 185398
|
|
|
|
| |
llvm-svn: 185395
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch by Benjamin Kramer!
Use the BlockFrequency class instead of floats in the Hopfield network
computations. This rescales the node Bias field from a [-2;2] float
range to two block frequencies BiasN and BiasP pulling in opposite
directions. This construct has a more predictable behavior when block
frequencies saturate.
The per-node scaling factors are no longer necessary, assuming the block
frequencies around a bundle are consistent.
This patch can cause the register allocator to make different spilling
decisions. The differences should be small.
llvm-svn: 185393
|
|
|
|
|
|
|
|
| |
Restrict the current TLS support to X86 ELF for now. Test that we don't
produce it on PPC & we can flesh that test case out with the right thing
once someone implements it.
llvm-svn: 185389
|
|
|
|
| |
llvm-svn: 185378
|
|
|
|
| |
llvm-svn: 185367
|
|
|
|
|
|
|
|
|
|
|
|
| |
When phis get lowered, destination copies are inserted using an iterator that is
determined once for all phis in the block, which BuildMI interprets as a request
to insert an instruction directly before the iterator. In the case of a cyclic
phi, source copies may also be inserted directly before this iterator, which can
cause source copies to be inserted before destination copies. The fix is to keep
an iterator to the last phi and then advance it while lowering each phi in order
to insert destination copies directly after the phis.
llvm-svn: 185363
|
|
|
|
|
|
| |
in c++ mode instead of c mode.
llvm-svn: 185348
|
|
|
|
| |
llvm-svn: 185266
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on GCC's output for TLS variables (OP_constNu, x@dtpoff,
OP_lo_user), this implements debug info support for TLS in ELF. Verified
that this output is correct/sufficient on Linux (using gold - if you're
using binutils-ld, you'll need something with the fix for
http://sourceware.org/bugzilla/show_bug.cgi?id=15685 in it).
Support on non-ELF is sort of "arbitrary" at the moment - if Apple folks
want to discuss (or just go ahead & implement) how this should work in
MachO, etc, I'm open.
llvm-svn: 185203
|
|
|
|
|
|
|
| |
This is a precursor to adding debug info support for TLS which requires
non-default relocations applied to TLS symbols.
llvm-svn: 185202
|
|
|
|
| |
llvm-svn: 185190
|
|
|
|
| |
llvm-svn: 185189
|
|
|
|
| |
llvm-svn: 185188
|
|
|
|
|
|
|
|
|
|
|
|
| |
should expand ATOMIC_CMP_SWAP nodes the same way that it does for ATOMIC_SWAP.
Since ATOMIC_LOADs on some targets (e.g. older ARM variants) get legalized to
ATOMIC_CMP_SWAPs, the missing case had been causing i64 atomic loads to crash
during isel.
<rdar://problem/14074644>
llvm-svn: 185186
|
|
|
|
|
|
|
|
|
|
|
| |
No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify. For cases where we know the type of a DI metadata, use
assert.
Also update testing cases to make them conform to the format of DI classes.
llvm-svn: 185135
|
|
|
|
| |
llvm-svn: 185072
|
|
|
|
| |
llvm-svn: 184933
|
|
|
|
|
|
| |
shift/xor/sub when it is possible. Fixed a bug in SDIV, where the const operand is not a splat constant vector.
llvm-svn: 184931
|
|
|
|
| |
llvm-svn: 184866
|
|
|
|
|
|
|
| |
This is a band-aid to fix the most severe regressions we're seeing from basing
spill decisions on block frequencies, until we have a better solution.
llvm-svn: 184835
|
|
|
|
| |
llvm-svn: 184792
|
|
|
|
| |
llvm-svn: 184788
|
|
|
|
|
|
| |
never modified. No functional change.
llvm-svn: 184781
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it possible to write unit tests that are less susceptible
to minor code motion, particularly copy placement. block-placement.ll
covers this case with -pre-RA-sched=source which will soon be
default. One incorrectly named block is already fixed, but without
this fix, enabling new coalescing and scheduling would cause more
failures.
llvm-svn: 184680
|
|
|
|
|
|
| |
ULEB128/SLEB128 generation
llvm-svn: 184669
|