| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
AutoUpgrade
llvm-svn: 237838
|
| |
|
|
|
|
|
|
|
|
| |
Ideally this is going to be and LLVM IR pass (shared, among others
with AArch64), but for the time being just enable it if consumers
ask us for optimization and not unconditionally.
Discussed with Tim Northover on IRC.
llvm-svn: 237837
|
| |
|
|
| |
llvm-svn: 237836
|
| |
|
|
| |
llvm-svn: 237835
|
| |
|
|
|
|
|
|
|
|
| |
It's a lot faster than bash.
Also use FileCheck instead of grep to search through a binary file.
Cygwin's grep isn't working here for unknown reasons that probably
aren't worth investigating.
llvm-svn: 237834
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit modifies the memory buffer creation in the AsmParser library so
that it requires a terminating null character. The LLLexer in the AsmParser
library checks for EOF only when it sees a null character, thus it would
be best to require it when creating a memory buffer so that the memory
buffer constructor can verify that a terminating null character is indeed
present.
Reviewers: Duncan P. N. Exon Smith, Matthias Braun
Differential Revision: http://reviews.llvm.org/D9883
llvm-svn: 237833
|
| |
|
|
|
|
| |
failing tests
llvm-svn: 237832
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: It should default to working-dir/src-filename if dst is not specified.
Reviewers: clayborg, flackr
Reviewed By: flackr
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D9890
llvm-svn: 237831
|
| |
|
|
|
|
| |
implicit one
llvm-svn: 237830
|
| |
|
|
|
|
|
| |
Remove most remaining calls to `MCSymbolData::getSymbol()`, instead
using the already available `MCSymbol` directly.
llvm-svn: 237829
|
| |
|
|
|
|
|
|
|
| |
In some cases it won't get cleaned up properly leading to crashes
downstream. PR23353.
Based on a patch by Davide Italiano.
llvm-svn: 237828
|
| |
|
|
|
|
|
|
|
|
|
| |
DebugLocDwarfExpression::EmitOp was creating temporary strings by concatenating Twine's.
When emitting to object files, these comments are thrown away.
This commit adds a boolean to the constructor of the DwarfExpression to control whether it will actually emit
any comments. This prevents it from even generating the temporary comments which would have been thrown away anyway.
llvm-svn: 237827
|
| |
|
|
|
|
| |
Move APIs over from `MCSymbolData` to `MCSymbol`.
llvm-svn: 237826
|
| |
|
|
|
|
|
|
|
| |
don't put those values in the Structured Data we make up
from the report.
<rdar://problem/21038887>
llvm-svn: 237824
|
| |
|
|
|
|
|
|
|
|
|
|
| |
lookup. NFC.
This code appends the filename to the directory then looks that up in a StringMap. We should be using the existing Twine::toStringRef method instead of Twine::str() as most times we'll succeed in the lookup.
Its possible that we should also consider allowing StringMap to lookup a key using a Twine in addition to a StringRef but that would complicate the code with little known benefit above and beyond this change.
This saves 170k temporary allocations when running llc on the verify_use_list_order bitcode with debug info for x86.
llvm-svn: 237823
|
| |
|
|
|
|
|
|
|
|
|
|
| |
DAG.FoldConstantArithmetic() can fail even though both operands are
Constants if OpaqueConstants are involved. Continue trying other combine
possibilities in tis case.
Differential Revision: http://reviews.llvm.org/D6946
Somewhat related to PR21801 / rdar://19211454
llvm-svn: 237822
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure if we're truncating a constant that would then be sign extended
that the sign extension of the truncated constant is the same as the
original constant.
> Canonicalize min/max expressions correctly.
>
> This patch introduces a canonical form for min/max idioms where one operand
> is extended or truncated. This often happens when the other operand is a
> constant. For example:
>
> %1 = icmp slt i32 %a, i32 0
> %2 = sext i32 %a to i64
> %3 = select i1 %1, i64 %2, i64 0
>
> Would now be canonicalized into:
>
> %1 = icmp slt i32 %a, i32 0
> %2 = select i1 %1, i32 %a, i32 0
> %3 = sext i32 %2 to i64
>
> This builds upon a patch posted by David Majenemer
> (https://www.marc.info/?l=llvm-commits&m=143008038714141&w=2). That pass
> passively stopped instcombine from ruining canonical patterns. This
> patch additionally actively makes instcombine canonicalize too.
>
> Canonicalization of expressions involving a change in type from int->fp
> or fp->int are not yet implemented.
llvm-svn: 237821
|
| |
|
|
| |
llvm-svn: 237820
|
| |
|
|
|
|
|
|
|
| |
This reverts part of r237808.
The CMP0057 warnings came from an old development build of CMake that
nobody else has. We don't need the cruft.
llvm-svn: 237819
|
| |
|
|
|
|
|
| |
We used to only check the differing tests on AVX, but we might
as well check all of them.
llvm-svn: 237818
|
| |
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D9801
Reviewed by: Adrian McCarthy
llvm-svn: 237817
|
| |
|
|
|
|
| |
Switch from MCSymbolData to MCSymbol in LocalCommon.
llvm-svn: 237816
|
| |
|
|
|
|
| |
one for non-type and template template parameters too.
llvm-svn: 237815
|
| |
|
|
|
|
| |
an imported but hidden one.
llvm-svn: 237814
|
| |
|
|
| |
llvm-svn: 237813
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
During icmp lowering it can happen that a constant value can be larger than expected (see the code around the change).
APInt::getMinSignedBits() must be checked again as the shift before can change the constant sign to positive.
I'm not sure it is the best fix possible though.
Test Plan: Regression test included.
Reviewers: resistor, chandlerc, spatel, hfinkel
Reviewed By: hfinkel
Subscribers: hfinkel, llvm-commits
Differential Revision: http://reviews.llvm.org/D9147
llvm-svn: 237812
|
| |
|
|
|
|
| |
This is after LLVM r237810 which made Function::getIntrinsicID() return an Intrinsic::ID.
llvm-svn: 237811
|
| |
|
|
|
|
|
|
| |
Now that Intrinsic::ID is a typed enum, we can forward declare it and so return it from this method.
This updates all users which were either using an unsigned to store it, or had a now unnecessary cast.
llvm-svn: 237810
|
| |
|
|
|
|
| |
causes.
llvm-svn: 237809
|
| |
|
|
|
|
|
|
|
|
|
| |
Fix a trivial instance of CMP0054 that came up on llvmdev.
The other warnings were CMP0057, which is about using the same file as a
MAIN_DEPENDENCY multiple times. The old behavior hasn't been a problem
yet, so I silenced the warning and filed PR23595 to document the issue
if someone cares.
llvm-svn: 237808
|
| |
|
|
|
|
|
|
|
| |
r237490 accidentally dropped MCSymbolData from the MCAssembler dump.
Add it back underneath the MCSymbol dump. Remove the MCSymbol dump from
MCSymbolData, since this would cause an infinite co-recursion, and
besides, that back pointer is going away.
llvm-svn: 237807
|
| |
|
|
|
|
|
| |
In my rush to fix the linux bots in r237805, I accidentally committed
a change to the triple. Revert that part.
llvm-svn: 237806
|
| |
|
|
| |
llvm-svn: 237805
|
| |
|
|
|
|
|
|
|
|
|
|
| |
-fprofile-instr-generate does not emit counter increment intrinsics
for Dtor_Deleting and Dtor_Complete destructors with assigned
counters. This causes unnecessary [-Wprofile-instr-out-of-date]
warnings during profile-use runs even if the source has never been
modified since profile collection.
Patch by Betul Buyukkurt. Thanks!
llvm-svn: 237804
|
| |
|
|
|
|
| |
Use `MCSymbol` over `MCSymbolData` where both are needed.
llvm-svn: 237803
|
| |
|
|
| |
llvm-svn: 237802
|
| |
|
|
|
|
|
| |
Nodes aren't supposed to be destroyed polymorphically. Also make all subclasses
final to avoid non-virtual dtor warnings.
llvm-svn: 237801
|
| |
|
|
| |
llvm-svn: 237800
|
| |
|
|
|
|
|
| |
Replace uses of `MCSymbolData` with `MCSymbol` where both are needed, so
we can remove the backpointer.
llvm-svn: 237799
|
| |
|
|
|
|
| |
Continue to prefer `MCSymbol` when we need both.
llvm-svn: 237798
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First ARMTargetParser FIXME, conservatively changing the way we parse CPUs
in the back-end. Still not perfect, with a lot of special cases, but moving
towards a more generic solution.
Moving all logic to the target parser made some unwritten assumptions
about architectures in Clang to break. I've added a lot of architectures
required by Clang, and default to CPUs that Clang believes it should
(and I agree).
I've also added a lot of unit tests, with the correct CPU for each
architecture, and Clang seems to be working correctly, too.
It also became clear that using "unsigned ID" as the argument for the get
methods makes it hard to know what ID, so I also changed the argument names
to match the enum type names.
llvm-svn: 237797
|
| |
|
|
|
|
| |
This condition was accidentally introduced in r211875.
llvm-svn: 237796
|
| |
|
|
| |
llvm-svn: 237795
|
| |
|
|
| |
llvm-svn: 237794
|
| |
|
|
|
|
|
|
| |
fixed extract-insert i1 element,
load i1, zextload i1 should be with "and $1, %reg" to prevent loading garbage.
added a bunch of new tests.
llvm-svn: 237793
|
| |
|
|
|
|
|
|
|
| |
dependant.
It works, but I've noticed that I missed several callers of createMCAsmInfo()
and many don't have a TargetMachine to provide.
llvm-svn: 237792
|
| |
|
|
|
|
| |
These include _GLOBAL_OFFSET_TABLE_ and _DYNAMIC.
llvm-svn: 237791
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
-check-prefix replaces the default CHECK prefix rather than adding to it and
must be explicitly re-added.
Also added the N32 cases.
Reviewers: petarj
Reviewed By: petarj
Subscribers: tberghammer, llvm-commits
Differential Revision: http://reviews.llvm.org/D9668
llvm-svn: 237790
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
For N32/N64, private labels begin with '.L' but for O32 they begin with '$'.
MCAsmInfo now has an initializer function which can be used to provide information from the TargetMachine to control the assembly syntax.
Reviewers: vkalintiris
Reviewed By: vkalintiris
Subscribers: jfb, sandeep, llvm-commits, rafael
Differential Revision: http://reviews.llvm.org/D9821
llvm-svn: 237789
|
| |
|
|
|
|
| |
loops with ordered clause must be generated the same way as dynamic loops, but with static scheduleing.
llvm-svn: 237788
|