| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
We used to crash processing any relevant @llvm.assume on a 32-bit target
(because we'd ask SE to subtract expressions of differing types). I've copied
our 'simple.ll' test, but with the data layout from arm-linux-gnueabihf to get
some meaningful test coverage here.
llvm-svn: 217574
|
| |
|
|
| |
llvm-svn: 217573
|
| |
|
|
|
|
|
| |
Because NO LINKER MAY CHANGE. EVER. Even if it's a complete rewrite
from scratch.
llvm-svn: 217572
|
| |
|
|
| |
llvm-svn: 217570
|
| |
|
|
| |
llvm-svn: 217569
|
| |
|
|
|
|
|
| |
The dangling "else" at the end of #if looked a bit error-prone.
Make it a separate function. No functionality change.
llvm-svn: 217568
|
| |
|
|
| |
llvm-svn: 217567
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The existing system linkers on Darwin and Linux are called "ld". We'd like to
eventually drop in lld as "ld" and have it just work. But lld is a universal
linker that requires the first option to be -flavor to know which command line
mode to emulate (gnu or darwin).
This change tests if argv[0] is "ld" and if so, if the tool was built on MacOSX
then assume the darwin flavor otherwise the gnu flavor. There are two test
cases which copy lld to "ld" and then run it. One for darwin and one for linux.
llvm-svn: 217566
|
| |
|
|
| |
llvm-svn: 217565
|
| |
|
|
|
|
| |
Cleanup to 217563 suggested by Lang Hames in post-commit review.
llvm-svn: 217564
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Leveraging both intrusive shared_ptr-ing (std::enable_shared_from_this)
and shared_ptr<T>-owning-U (to allow external users to hold
std::shared_ptr<CostT> while keeping the underlying PoolEntry alive).
The intrusiveness could be removed if we had a weak_set that implicitly
removed items from the set when their underlying data went away.
This /might/ fix an existing memory leak reported by LeakSanitizer in
r217504.
llvm-svn: 217563
|
| |
|
|
|
|
|
| |
The lost chain resulting in earlier side effecting nodes
being deleted.
llvm-svn: 217561
|
| |
|
|
|
|
|
|
|
|
|
| |
Need to convert the 64 element offset into bytes, not just the element
size like the normal case instructions.
Noticed by inspection. This can't be hit now because
st64 instructions aren't emitted during instruction selection,
and the post-RA scheduler isn't enabled.
llvm-svn: 217560
|
| |
|
|
| |
llvm-svn: 217559
|
| |
|
|
|
|
|
|
|
| |
We may as well just use Symbolizer::GetOrInit() in all the cases.
Don't call Symbolizer::Get() early in tools initialization: these days
it doesn't do any important setup work, and we may as well create the
symbolizer the first time it's actually needed.
llvm-svn: 217558
|
| |
|
|
| |
llvm-svn: 217557
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Numerous changes, including:
* Changed the way variables and instructions are handled in basic blocks to
be more efficient.
* Eliminated SExprRef.
* Simplified futures.
* Fixed documentation.
* Compute dominator and post dominator trees.
llvm-svn: 217556
|
| |
|
|
| |
llvm-svn: 217555
|
| |
|
|
| |
llvm-svn: 217553
|
| |
|
|
|
|
| |
I forgot to fix these again the second time I copy-and-pasted.
llvm-svn: 217552
|
| |
|
|
|
|
|
|
| |
locations with new ones if possible.
Next up some test cases...
llvm-svn: 217551
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. We were hitting the NextIsPrevious assertion because we were trying
to merge decl chains that were independent of each other because we had
no Sema object to allow them to find existing decls. This is fixed by
delaying loading the "preloaded" decls until Sema is available.
2. We were trying to get identifier info from an annotation token, which
asserts. The fix is to special-case the module annotations in the
preprocessed output printer.
Fixed in a single commit because when you hit 1 you almost invariably
hit 2 as well.
llvm-svn: 217550
|
| |
|
|
|
|
|
|
|
|
|
| |
This change implements this ticket:
http://llvm.org/bugs/show_bug.cgi?id=20899
Adds the qThreadStopInfo RSP command for llgs and includes a test that
verifies both debugserver and llgs respond with something reasonable
on a multithreaded app.
llvm-svn: 217549
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
With this a DataLayoutPass can be reused for multiple modules.
Once we have doInitialization/doFinalization, it doesn't seem necessary to pass
a Module to the constructor.
Overall this change seems in line with the idea of making DataLayout a required
part of Module. With it the only way of having a DataLayout used is to add it
to the Module.
llvm-svn: 217548
|
| |
|
|
| |
llvm-svn: 217547
|
| |
|
|
|
|
|
|
| |
actually different. Fixes a surprising link error with nodejs on rpi,
where armv6-netbsd-eabihf turned into armv5e-netbsd-eabihf, which
doesn't lacks the necessary VFP support.
llvm-svn: 217546
|
| |
|
|
|
|
|
| |
Clang/LLVM trunk now have support for __builtin_assume_aligned, turn this &&
into an || so we can use it ourselves.
llvm-svn: 217545
|
| |
|
|
|
|
|
|
|
|
| |
The routine that determines an alignment given some SCEV returns zero if the
answer is unknown. In a case where we could determine the increment of an
AddRec but not the starting alignment, we would compute the integer modulus by
zero (which is illegal and traps). Prevent this by returning early if either
the start or increment alignment is unknown (zero).
llvm-svn: 217544
|
| |
|
|
|
|
|
| |
dictionary literals since the API which implements
them accepts it too. // rdar://18254621
llvm-svn: 217543
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
FIx a problem reported by Jakub Jelinek: don't do early-exit from fatal
UBSan handlers: even if source location is disabled (i.e. acquired by
some other thread), we should continue the execution to make sure that:
a) some thread will print the error report before calling Die().
b) handler marked as noreturn will indeed not return.
Explicitly add "Die()" calls at the end of all fatal handlers to be
sure UBSan handlers don't introduce UB themselves.
llvm-svn: 217542
|
| |
|
|
|
|
| |
Fix sphinx warning introduced by r217537
llvm-svn: 217541
|
| |
|
|
|
|
|
|
|
|
| |
The increase of the interleave factor to 4 has side-effects
like performance losses eg. due to reminder loops being executed
more frequently and may increase code size. It requires more
analysis and careful heuristic tuning. Expect double digit gains
in small benchmarks like lowercase.c and losses in puzzle.c.
llvm-svn: 217540
|
| |
|
|
| |
llvm-svn: 217539
|
| |
|
|
| |
llvm-svn: 217538
|
| |
|
|
|
|
| |
Patch sent via telegraph by TNorthover. Thanks!
llvm-svn: 217537
|
| |
|
|
| |
llvm-svn: 217536
|
| |
|
|
| |
llvm-svn: 217535
|
| |
|
|
|
|
|
|
|
|
| |
comdat-associative sections (PR20889)
This prevents initializers for comdat-folded globals from running multiple times.
Differential Revision: http://reviews.llvm.org/D5281
llvm-svn: 217534
|
| |
|
|
|
|
| |
DBG_VALUE intrinsic.
llvm-svn: 217533
|
| |
|
|
| |
llvm-svn: 217532
|
| |
|
|
|
|
| |
leaks in the allocator
llvm-svn: 217531
|
| |
|
|
|
|
| |
passing parameter to an audited CF API. rdar://18222007
llvm-svn: 217530
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Make CallingConv::ID a plain unsigned instead of enum with a
fixed set of valus. LLVM IR allows arbitraty calling conventions (you are
free to write cc12345), and loading them as enum is an undefined
behavior. This was reported by UBSan.
Test Plan: llvm regression test suite
Reviewers: nicholas
Reviewed By: nicholas
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5248
llvm-svn: 217529
|
| |
|
|
|
|
|
|
|
|
|
| |
names controlling this variable.
"Unroll" is not the appropriate name for this variable. Clang already uses
the term "interleave" in pragmas and metadata for this.
Differential Revision: http://reviews.llvm.org/D5066
llvm-svn: 217528
|
| |
|
|
| |
llvm-svn: 217527
|
| |
|
|
| |
llvm-svn: 217526
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This allows us to omit the GuardBB in front of created loops
if we can show the loop trip count is at least one. It also
simplifies the dominance relation inside the new created region.
A GuardBB (even with a constant branch condition) might trigger
false dominance errors during function verification.
Differential Revision: http://reviews.llvm.org/D5297
llvm-svn: 217525
|
| |
|
|
|
|
| |
Fix sphinx warning introduced by r217501.
llvm-svn: 217524
|
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D4047
llvm-svn: 217523
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Currently, this is done implicitly in Driver::BuildInputs by considering
any invalid input type as linker input.
Test Plan: I don't think this behavior is observable for the reason stated above.
Reviewers: hansw
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D5294
llvm-svn: 217522
|