| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Implement copying ASR to/from GPR regs.
- Mark ASRs as non-allocatable, so it won't try to arbitrarily use
them inappropriately.
- Instead of inserting explicit WRASR/RDASR nodes in the MUL/DIV
routines, just do normal register copies.
- Also...mark div as using Y, not just writing it.
Added a test case with some code which previously died with an
assertion failure (with -O0), or produced wrong code (otherwise).
(Third time's the charm?)
Differential Revision: http://reviews.llvm.org/D10401
llvm-svn: 241686
|
| |
|
|
| |
llvm-svn: 241685
|
| |
|
|
|
|
| |
This reverts commit r241636 as it turned out to be unnecessary.
llvm-svn: 241684
|
| |
|
|
| |
llvm-svn: 241683
|
| |
|
|
| |
llvm-svn: 241682
|
| |
|
|
| |
llvm-svn: 241681
|
| |
|
|
| |
llvm-svn: 241680
|
| |
|
|
|
|
|
|
|
|
|
| |
Summary:
The DW_AT_name attribute of compile unit is optional.
If it is missing, try to get filename from the debug_line section.
This allows the compile unit to be useful without the filename.
Differential Revision: http://reviews.llvm.org/D11003
llvm-svn: 241679
|
| |
|
|
|
|
|
|
|
|
|
| |
For Mips direct-to-nacl, the goal is to be close to le32 front-end and
use Mips32EL backend. This patch defines new NaClMips32ELTargetInfo and
modifies it slightly to be close to le32. It also adds necessary parts,
inline with ARM and X86.
Differential Revision: http://reviews.llvm.org/D10739
llvm-svn: 241678
|
| |
|
|
| |
llvm-svn: 241676
|
| |
|
|
|
|
|
|
| |
Use AddressAlign field's value to properly align sections content in the
yaml2obj tool. Before this change the yaml2obj ignored AddressAlign and
always aligned section on 16 bytes boundary.
llvm-svn: 241674
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Often filter-like loops will do memory accesses that are
separated by constant offsets. In these cases it is
common that we will exceed the threshold for the
allowable number of checks.
However, it should be possible to merge such checks,
sice a check of any interval againt two other intervals separated
by a constant offset (a,b), (a+c, b+c) will be equivalent with
a check againt (a, b+c), as long as (a,b) and (a+c, b+c) overlap.
Assuming the loop will be executed for a sufficient number of
iterations, this will be true. If not true, checking against
(a, b+c) is still safe (although not equivalent).
As long as there are no dependencies between two accesses,
we can merge their checks into a single one. We use this
technique to construct groups of accesses, and then check
the intervals associated with the groups instead of
checking the accesses directly.
Reviewers: anemet
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10386
llvm-svn: 241673
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This commit avoids the Platform instance when spawning or attaching to a process in lldb-server.
Instead, I have the server call a (static) method of NativeProcessProtocol directly. The reason
for this is that I believe that NativeProcessProtocol should be decoupled from the Platform
(after all, it always knows which platform it is running on, unlike the rest of lldb).
Additionally, the kind of platform actions a NativeProcessProtocol instance is likely to differ
greatly from the platform actions of the lldb client, so I think the separation makes sense.
After this, the only dependency NativeProcessLinux has on PlatformLinux is the ResolveExecutable
method, which needs additional refactoring.
Reviewers: ovyalov, clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D10996
llvm-svn: 241672
|
| |
|
|
| |
llvm-svn: 241671
|
| |
|
|
|
|
|
|
|
| |
in struct (patch by Denis Zobnin)
The fix is to emit cleanup for arrays of memcpy-able objects in struct if an exception is thrown later during copy-construction.
Differential Revision: http://reviews.llvm.org/D10989
llvm-svn: 241670
|
| |
|
|
| |
llvm-svn: 241669
|
| |
|
|
|
|
|
|
|
|
|
|
| |
attribute blocks"
This reverts commit r239846 and r239879. They caused clang's
-fms-extensions behavior to incorrectly parse lambdas and includes a
testcase to ensure we don't regress again.
This issue was found in PR24027.
llvm-svn: 241668
|
| |
|
|
|
|
|
|
|
|
|
| |
We didn't correctly process the case where a base class is classified as
MEMORY. This would cause us to trip over an assertion.
This fixes PR24020.
Differential Revision: http://reviews.llvm.org/D10907
llvm-svn: 241667
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We forgot to run postMerge after decided that the union had to be
classified as MEMORY. This left us with Lo == MEMORY and Hi == SSEUp
which is an invalid combination.
This fixes PR24021.
Differential Revision: http://reviews.llvm.org/D10908
llvm-svn: 241666
|
| |
|
|
|
|
|
|
| |
This patch const folds llvm.sin.* and llvm.cos.* intrinsics whenever feasible.
Differential Revision: http://reviews.llvm.org/D10836
llvm-svn: 241665
|
| |
|
|
| |
llvm-svn: 241664
|
| |
|
|
|
|
|
|
| |
the auto-registration that was already partially working."
It broke the build that relies on LLVM_EXTERNAL_CLANG_*.
llvm-svn: 241663
|
| |
|
|
|
|
|
| |
instantiation, use the set of modules visible from the template definition, not
from whichever declaration the specialization was instantiated from.
llvm-svn: 241662
|
| |
|
|
| |
llvm-svn: 241661
|
| |
|
|
| |
llvm-svn: 241660
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
option that works with all object container formats.
Now that clang modules/PCH are object containers this option is useful to
to construct pipes like
llvm-objdump -raw-clang-ast foo.pcm | llvm-bcanalyzer -
to inspect the AST contents in a PCH container.
Will be tested via clang.
Belatedly addresses review feedback for r233390.
llvm-svn: 241659
|
| |
|
|
| |
llvm-svn: 241658
|
| |
|
|
| |
llvm-svn: 241657
|
| |
|
|
|
|
|
| |
clang-check now initializes the available targets to support
clang module containers.
llvm-svn: 241656
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the one owned by the
module.
Reviewers: echristo
Subscribers: llvm-commits, rafael, yaron.keren
Differential Revision: http://reviews.llvm.org/D11017
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 241655
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the one owned by the
module.
Reviewers: echristo
Subscribers: yaron.keren, rafael, llvm-commits
Differential Revision: http://reviews.llvm.org/D11009
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 241654
|
| |
|
|
|
|
| |
of the llvm targets from clang/CodeGen into ClangCheck.cpp and CIndex.cpp.
llvm-svn: 241653
|
| |
|
|
|
|
|
|
|
|
| |
results if the -Q option is not provided. Also took out the quietly
option from AddInitialCommand, we don't use that to set this option,
we use the override set by the -Q option.
<rdar://problem/21232087>
llvm-svn: 241652
|
| |
|
|
|
|
|
|
|
|
| |
We don't need to do the fancy dance with checking whether the iterator
represents a #define -- in fact, that's the wrong thing to do. The thing to do
is check whether the highest-priority module that did something to the module
#defined or #undefd it. If it #defined it, then the MacroInfo* will be non-NULL
and we're good to go.
llvm-svn: 241651
|
| |
|
|
|
|
|
|
|
| |
not set to stop - there must be some other thread that
stopped for a more interesting reason.
<rdar://problem/19943567>
llvm-svn: 241650
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This can be in the cpp file rather than the header file, so moving
it there.
Summary: Move ProcessKDP's StringExtractor include.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11018
llvm-svn: 241649
|
| |
|
|
|
|
|
|
|
|
| |
The incoming EBP value points to the end of a local stack allocation, so
we can use that to restore ESI, the base pointer. Once we do that, we
can use local stack allocations. If we know we need stack realignment,
spill the original frame pointer in the prologue and reload it after
restoring ESI.
llvm-svn: 241648
|
| |
|
|
| |
llvm-svn: 241647
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the one owned by the
module.
Reviewers: echristo
Subscribers: llvm-commits, rafael, yaron.keren
Differential Revision: http://reviews.llvm.org/D11010
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 241646
|
| |
|
|
|
|
|
|
|
| |
This commit adopts the 'ModuleSlotTracker' class, which was surfaced in r240842,
to print the global address operands. This change ensures that the slot tracker
won't have to be recreated every time a global address operand is printed,
making the MIR printing more efficient.
llvm-svn: 241645
|
| |
|
|
|
|
| |
This should do the right thing for stack realignment prologues.
llvm-svn: 241644
|
| |
|
|
|
|
|
| |
Clang uses this for SEH finally. The new intrinsic will produce the
right value when stack realignment is required.
llvm-svn: 241643
|
| |
|
|
|
|
| |
failures.
llvm-svn: 241642
|
| |
|
|
|
|
|
|
|
| |
Tim Northover has told me that they can occur when the compiler cleverly
constructs constants - as demonstrated in the test case.
rdar://21703486
llvm-svn: 241641
|
| |
|
|
| |
llvm-svn: 241640
|
| |
|
|
| |
llvm-svn: 241638
|
| |
|
|
| |
llvm-svn: 241637
|
| |
|
|
|
|
| |
There must be a better way to fix this — I'll keep investigating.
llvm-svn: 241636
|
| |
|
|
| |
llvm-svn: 241635
|
| |
|
|
| |
llvm-svn: 241634
|