| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This isn't used right now, but it will be in some upcoming changes.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10568
llvm-svn: 240407
|
| |
|
|
|
|
|
| |
We only need to pass in a DataLayout when mangling a raw string, not when
constructing the mangler.
llvm-svn: 240405
|
| |
|
|
|
|
|
|
|
|
|
| |
So far, LLVM has not emitted correct addend for N64 and N32 ABI. This patch
fixes that. It also removes fixup from MCJIT for R_MIPS_PC16 relocation.
Patch by Vladimir Radosavljevic.
Differential Revision: http://reviews.llvm.org/D10565
llvm-svn: 240404
|
| |
|
|
| |
llvm-svn: 240403
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: For the sake of consistency and to make some upcoming changes a little less noisy.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10639
llvm-svn: 240398
|
| |
|
|
| |
llvm-svn: 240396
|
| |
|
|
|
|
|
|
|
|
|
| |
The summary is that it moves the mangling earlier and replaces a few
calls to .addExternalSymbol with addSym.
I originally wanted to replace all the uses of addExternalSymbol with
addSym, but noticed it was a lot of work and doesn't need to be done
all at once.
llvm-svn: 240395
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This causes errors like:
ld: error: blah.o: requires dynamic R_X86_64_PC32 reloc against '' which
may overflow at runtime; recompile with -fPIC
blah.cc:function f(): error: undefined reference to ''
blah.o:g(): error: undefined reference to ''
I have not yet come up with an appropriate reproduction.
llvm-svn: 240394
|
| |
|
|
| |
llvm-svn: 240393
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Reviewers: atanasyan
Reviewed By: atanasyan
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10538
llvm-svn: 240392
|
| |
|
|
|
|
| |
Apparently, the style needs to be agreed upon first.
llvm-svn: 240390
|
| |
|
|
|
|
| |
Added all intrinsics, tests for encoding, tests for intrinsics.
llvm-svn: 240386
|
| |
|
|
|
|
|
|
| |
We hit undefined behaviour in some MCExpr tests when the LHS of a left
shift is -1. Twos-complement semantics are completely reasonable here,
so we should just do the shift in unsigned.
llvm-svn: 240385
|
| |
|
|
|
|
|
|
| |
Avoid shifting a negative value by sign-extending after the shift.
Fixes a couple of tests that were failing under ubsan.
llvm-svn: 240381
|
| |
|
|
|
|
|
|
|
|
| |
Dissasembly tests depends on target. The problem is that it disable
all tests if all targets are not compiled. This moves things around in
order to get target specific code in a target specific folder.
Patch by Amaury Sechet. Thanks!
llvm-svn: 240380
|
| |
|
|
|
|
|
| |
This patch copies the metadata of the unswitched branch to the newly
crreated branch in loop unswitch pass.
llvm-svn: 240378
|
| |
|
|
|
|
| |
Thanks to Filipe Cabecinhas for noticing.
llvm-svn: 240375
|
| |
|
|
|
|
| |
This shows how two symbols at the same address are handled.
llvm-svn: 240374
|
| |
|
|
|
|
| |
I will add an explicit test in a second, but this fixes the bots.
llvm-svn: 240372
|
| |
|
|
|
|
|
| |
This came up when examining some code generated by clang's IRGen for
certain member pointers.
llvm-svn: 240369
|
| |
|
|
| |
llvm-svn: 240368
|
| |
|
|
|
|
| |
Before this would dump from the symbol start to the end of the section.
llvm-svn: 240367
|
| |
|
|
|
|
| |
I will add a second user in the next commit.
llvm-svn: 240366
|
| |
|
|
| |
llvm-svn: 240365
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
That way llvm-objdump can rely on it without adding an extra dependency
on CodeGen.
This change duplicates the FaultKind enum and the code that serializes
it to a string. I could not figure out a way to get around this without
adding a new dependency to Object
Reviewers: rafael, ab
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10619
llvm-svn: 240364
|
| |
|
|
| |
llvm-svn: 240363
|
| |
|
|
| |
llvm-svn: 240362
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instructions
Currently ( D10321, http://reviews.llvm.org/rL239486 ), we can use the machine combiner pass
to reassociate the following sequence to reduce the critical path:
A = ? op ?
B = A op X
C = B op Y
-->
A = ? op ?
B = X op Y
C = A op B
'op' is currently limited to x86 AVX scalar FP adds (with fast-math on), but in theory, it could
be any associative math/logic op (see TODO in code comment).
This patch generalizes the pattern match to ignore the instruction that defines 'A'. So instead of
a sequence of 3 adds, we now only need to find 2 dependent adds and decide if it's worth
reassociating them.
This generalization has a compile-time cost because we can now match more instruction sequences
and we rely more heavily on the machine combiner to discard sequences where reassociation doesn't
improve the critical path.
For example, in the new test case:
A = M div N
B = A add X
C = B add Y
We'll match 2 reassociation patterns, but this transform doesn't reduce the critical path:
A = M div N
B = A add Y
C = B add X
We need the combiner to reject that pattern but select this:
A = M div N
B = X add Y
C = B add A
Differential Revision: http://reviews.llvm.org/D10460
llvm-svn: 240361
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
reference. NFC"
This version fixes a missing include that MSVC noticed and
clarifies the ownership of the counter buffer that's passed to
InstrProfRecord.
This restores r240206, which was reverted in r240208.
Patch by Betul Buyukkurt.
llvm-svn: 240360
|
| |
|
|
|
|
|
|
| |
This functionality wasn't being tested.
Patch by Betul Buyukkurt.
llvm-svn: 240359
|
| |
|
|
|
|
|
|
|
|
| |
This is similar to Metadata.def and Instructions.def but for Value's.
It will be used in upcoming commits to devirtualize the Value class.
Reviewed by Duncan Exon Smith.
llvm-svn: 240358
|
| |
|
|
|
|
|
| |
r226830 moved the declaration of Buf to a nested scope, resulting
in a dangling reference (in StringRef Name), and a use-after-free.
llvm-svn: 240357
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove std::move() around xvalue so that copy elision is eligible.
In case that copy elision is not appliable, the c++ standard also
guarantees the move semantics on xvalue. Thus, it is not necessary
to wrap Args with std::move.
This also silence a warning since r240345.
llvm-svn: 240355
|
| |
|
|
|
|
|
|
| |
As with the previous patch, the goal is to turn the class into a general
loop-versioning class. This patch removes any references to loop
distribution.
llvm-svn: 240352
|
| |
|
|
|
|
|
|
|
|
|
|
| |
dynamic allocation/ownership here
The one caller that does anything other than keep this variable on the
stack is the single use of DerivedArgList in Clang, which is a bit more
interesting but can probably be cleaned up/simplified a bit further
(have DerivedArgList take ownership of the InputArgList rather than
needing to reference its Args indirectly) which I'll try to after this.
llvm-svn: 240345
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
behaviors of the build is a dirty hack. We shouldn't do it.
Summary: I don't think anyone is relying on this behavior for bootstrapping (because I don't think it works), but if you do need it, speak now or forever hold your peace.
Reviewers: chapuni, samsonov
Reviewed By: samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10613
llvm-svn: 240344
|
| |
|
|
| |
llvm-svn: 240343
|
| |
|
|
| |
llvm-svn: 240342
|
| |
|
|
| |
llvm-svn: 240341
|
| |
|
|
|
|
|
| |
I inadvertently checked these in with Windows-style line
endings in r240288.
llvm-svn: 240340
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MachOUniversalBinary::getObjectForArch()
The reason we need to search by name rather than by Triple::ArchType
is to handle subarchitecture correclty. There is no different ArchType
for the x86_64h architecture (it identifies itself as x86_64), or for
the various ARM subarches. The only way to get to the subarch slice
in an universal binary is to search by name.
This issue led to hard to debug and transient symbolication failures
in Asan tests (it mostly works, because the files are very similar).
This also affects the Profiling infrastucture as it is the other user
of that API.
Reviewers: samsonov, bogner
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10604
llvm-svn: 240339
|
| |
|
|
|
|
| |
Fixes the regression test added in r240291.
llvm-svn: 240336
|
| |
|
|
| |
llvm-svn: 240334
|
| |
|
|
| |
llvm-svn: 240332
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm, rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10392
llvm-svn: 240331
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm, rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10390
llvm-svn: 240330
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This will be used by the R600 backend.
Reviewers: chandlerc, rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10389
llvm-svn: 240329
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The _Int instructions are special, in that they operate on the full
VR128 instead of FR32. The load folding then looks at MOVSS, at the
user, and bails out when it sees a size mismatch.
What we really know is that the rm_Int instructions don't load the
higher lanes, so folding is fine.
This happens for the straightforward intrinsic code, e.g.:
_mm_add_ss(a, _mm_load_ss(p));
Fixes PR23349.
Differential Revision: http://reviews.llvm.org/D10554
llvm-svn: 240326
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a function that tokenizes the string containing
the machine instruction. This commit also adds a struct called
'MIToken' which is used to represent the lexer's tokens.
Reviewers: Sean Silva
Differential Revision: http://reviews.llvm.org/D10521
llvm-svn: 240323
|
| |
|
|
|
|
|
| |
This avoids creating an unnecessary undefined reference on targets such as
NVPTX that require such references to be declared in asm output.
llvm-svn: 240321
|