| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
It is always identical to RuntimeCC.
llvm-svn: 328050
|
| |
|
|
|
|
|
|
|
| |
The default thread model for wasm is single, and in this mode thread-local
global variables can be lowered identically to non-thread-local variables.
Differential Revision: https://reviews.llvm.org/D44703
llvm-svn: 328049
|
| |
|
|
|
|
| |
We were just missing test coverage for this.
llvm-svn: 328048
|
| |
|
|
| |
llvm-svn: 328047
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added settings code to read OMP_TARGET_OFFLOAD environment variable. Added
target-offload-var ICV as __kmp_target_offload, set via OMP_TARGET_OFFLOAD,
if available, otherwise defaulting to DEFAULT. Valid values for the ICV are
specified as enum values {0,1,2} for disabled, default, and mandatory. An
internal API access function __kmpc_get_target_offload is provided.
Patch by Terry Wilmarth
Differential Revision: https://reviews.llvm.org/D44577
llvm-svn: 328046
|
| |
|
|
|
|
| |
As noticed on D44687, these already match the WriteFMA def so can be removed.
llvm-svn: 328045
|
| |
|
|
|
|
| |
other minor fixes (NFC).
llvm-svn: 328044
|
| |
|
|
|
|
|
|
| |
ReachingDedDefaultVal->ReachingDefDefaultVal.
Unless Ded has some many I don't know about.
llvm-svn: 328043
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The inline assembly generated for the ARC autorelease elision marker
must have a funclet token if it's emitted inside a funclet, otherwise
the inline assembly (and all subsequent code in the funclet) will be
marked unreachable by WinEHPrepare.
Note that this only applies for the non-O0 case, since at O0, clang
emits the autorelease elision marker itself rather than deferring to the
backend. The fix for clang is handled in a separate change.
Differential Revision: https://reviews.llvm.org/D44641
llvm-svn: 328042
|
| |
|
|
|
|
|
| |
No need to pay for this on program startup, and also no need to destroy
it on process end.
llvm-svn: 328041
|
| |
|
|
| |
llvm-svn: 328040
|
| |
|
|
|
|
|
|
|
|
|
| |
Mingw uses the same stack protector functions as GCC provides
on other platforms as well.
Patch by Valentin Churavy!
Differential Revision: https://reviews.llvm.org/D27296
llvm-svn: 328039
|
| |
|
|
|
|
| |
https://reviews.llvm.org/D44591
llvm-svn: 328038
|
| |
|
|
|
|
|
|
|
|
|
| |
term sections from .o files to look to see if the pointers have a relocation
entry and if so print the symbol name from the relocation entry. If not fall
back to the existing code and use the pointer value to look up that value
in the symbol table.
rdar://38337506
llvm-svn: 328037
|
| |
|
|
|
|
|
| |
This is another case where there is special logic for adding dllimport
and so we cannot use setGVProperties.
llvm-svn: 328036
|
| |
|
|
|
|
| |
https://reviews.llvm.org/D44591
llvm-svn: 328035
|
| |
|
|
| |
llvm-svn: 328034
|
| |
|
|
|
|
| |
Both vectors contain unsigned so we can just use append to do the copying. Not only is this shorter, but it should be able to predict the final size and only grow the vector once if needed.
llvm-svn: 328033
|
| |
|
|
| |
llvm-svn: 328032
|
| |
|
|
|
|
| |
calculating a size and calling resize.
llvm-svn: 328031
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Added option -no-dwarf-debug-ranges option to disable emission of
.debug_ranges section.
Reviewers: probinson, echristo
Subscribers: aprantl, JDevlieghere, llvm-commits
Differential Revision: https://reviews.llvm.org/D44384
llvm-svn: 328030
|
| |
|
|
|
|
| |
This should fix the buildbots after r328011.
llvm-svn: 328029
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It uses the MC framework and the tablegen matcher to do the
heavy lifting. Can handle both explicit and implicit locals
(-disable-wasm-explicit-locals). Comes with a small regression
test.
This is a first basic implementation that can parse most llvm .s
output and round-trips most instructions succesfully, but in order
to keep the commit small, does not address all issues.
There are a fair number of mismatches between what MC / assembly
matcher think a "CPU" should look like and what WASM provides,
some already have workarounds in this commit (e.g. the way it
deals with register operands) and some that require further work.
Some of that further work may involve changing what the
Disassembler outputs (and what s2wasm parses), so are probably
best left to followups.
Some known things missing:
- Many directives are ignored and not emitted.
- Vararg calls are parsed but extra args not emitted.
- Loop signatures are likely incorrect.
- $drop= is not emitted.
- Disassembler does not output SIMD types correctly, so assembler
can't test them.
Patch by Wouter van Oortmerssen
Differential Revision: https://reviews.llvm.org/D44329
llvm-svn: 328028
|
| |
|
|
|
|
| |
Fix typo in the number of integer dividers.
llvm-svn: 328027
|
| |
|
|
|
|
| |
Temporarily revert the tests from r328012 as well.
llvm-svn: 328026
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of applying the sledgehammer of refusing to insert any
C++ symbol in the ASTContext, try to validate the decl if what
we have is an operator. There was other code in lldb which was
responsible for this, just not really exposed (or used) in this
codepath. Also, add a better/more comprehensive test.
<rdar://problem/35645893>
llvm-svn: 328025
|
| |
|
|
|
|
|
| |
Temporarily revert r328012 (since it broke down the big-endian bots),
will resubmit an updated version later.
llvm-svn: 328024
|
| |
|
|
| |
llvm-svn: 328023
|
| |
|
|
|
|
| |
Patch by Brendon Cahoon.
llvm-svn: 328022
|
| |
|
|
| |
llvm-svn: 328021
|
| |
|
|
|
|
|
|
| |
If we don't wrap arguments to the wrapper in single quotes, combined
arguments, for example for -E, don't reach dotest.py as a unit but as
separate arguments, causing the latter to fail.
llvm-svn: 328020
|
| |
|
|
| |
llvm-svn: 328019
|
| |
|
|
| |
llvm-svn: 328018
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
fp_to_sint/fp_to_uint (ppcf128 X)) out of LegalizeFloatTypes and into PPC specific code
I'm not entirely sure these hacks are still needed. If you remove the hacks completely, the name of the library call that gets generated doesn't match the grep the test previously had. So the test wasn't really checking anything.
If the hack is still needed it belongs in PPC specific code. I believe the FP_TO_SINT code here is the only place in the tree where a FP_ROUND_INREG node is created today. And I don't think its even being used correctly because the legalization returned a BUILD_PAIR with the same value twice. That doesn't seem right to me. By moving the code entirely to PPC we can avoid creating the FP_ROUND_INREG at all.
I replaced the grep in the existing test with full checks generated by hacking update_llc_test_check.py to support ppc32 just long enough to generate it.
Differential Revision: https://reviews.llvm.org/D44061
llvm-svn: 328017
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Registers E[A-D]X, E[SD]I, E[BS]P, and EIP have 16-bit subregisters
that cover the low halves of these registers. This change adds artificial
subregisters for the high halves in order to differentiate (in terms of
register units) between the 32- and the low 16-bit registers.
This patch contains parts that aim to preserve the calculated register
pressure. This is in order to preserve the current codegen (minimize the
impact of this patch). The approach of having artificial subregisters
could be used to fix PR23423, but the pressure calculation would need
to be changed.
Differential Revision: https://reviews.llvm.org/D43353
llvm-svn: 328016
|
| |
|
|
|
|
|
| |
As suggested in the original review (https://reviews.llvm.org/D44524), use an annotation style printer instead.
Note: The switch from -analyze to -disable-output in tests was driven by the fact that seems to be the idiomatic style used in annoation passes. I tried to keep both working, but the old style pass API for printers really doesn't make this easy. It invokes (runOnFunction, print(Module)) repeatedly. I decided the extra state wasn't worth it given the old pass manager is going away soonish anyway.
llvm-svn: 328015
|
| |
|
|
|
|
|
|
| |
This is still failing on a different bot this time due to some
issue related to hashing absolute paths. Reverting until I can
figure it out.
llvm-svn: 328014
|
| |
|
|
| |
llvm-svn: 328013
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This diff adds support for SHT_GROUP sections to llvm-objcopy.
Some sections are interrelated and comprise a group.
For example, a definition of an inline function might require,
in addition to the section containing its instructions,
a read-only data section containing literals referenced inside the function.
A section of the type SHT_GROUP contains the indices of the group members,
therefore, it needs to be updated whenever the indices change.
Similarly, the fields sh_link, sh_info should be recalculated as well.
Test plan: make check-all
Differential revision: https://reviews.llvm.org/D43996
llvm-svn: 328012
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BackendStatistics view.
This patch introduces two new callbacks in the event listener interface to
handle the "buffered resource reserved" event and the "buffered resource
released" event. Every time a buffered resource is used, an event is generated.
Before this patch, the Scheduler (with the help of the ResourceManager) was
responsible for tracking the scheduler's queue usage. However, that design
forced the Scheduler to 'publish' scheduler's queue pressure information through
the Backend interface.
The goal of this patch is to break the dependency between the BackendStatistics
view, and the Backend. Now the Scheduler knows how to notify "buffer
reserved/released" events. The scheduler's queue usage analysis has been moved
to the BackendStatistics.
Differential Revision: https://reviews.llvm.org/D44686
llvm-svn: 328011
|
| |
|
|
| |
llvm-svn: 328010
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: ruiu
Subscribers: emaste, arichardson, llvm-commits
Differential Revision: https://reviews.llvm.org/D44690
llvm-svn: 328009
|
| |
|
|
|
|
|
| |
Do not ignore these calling conventions on Windows ARM. They are used
by the swift runtime for certain calls.
llvm-svn: 328007
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way we can support address-space specific variants without explicitly
encoding the space in the name of the intrinsic. Less intrinsics to deal with ->
less boilerplate.
Added a bit of tablegen magic to match/replace an intrinsics with a pointer
argument in particular address space with the space-specific instruction
variant.
Updated tests to use non-default address spaces.
Differential Revision: https://reviews.llvm.org/D43268
llvm-svn: 328006
|
| |
|
|
| |
llvm-svn: 328005
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Many of our loop passes make use of so called "must execute" or "guaranteed to execute" facts to prove the legality of code motion. The basic notion is that we know (by assumption) an instruction didn't fault at it's original location, so if the location we move it to is strictly post dominated by the original, then we can't have introduced a new fault.
At the moment, the testing for this logic is somewhat adhoc and done mostly through LICM. Since I'm working on that code, I want to improve the testing. This patch is the first step in that direction. It doesn't actually test the variant used by the loop passes - I need to move that to the Analysis library first - but instead exercises an alternate implementation used by SCEV. (I plan on merging both implementations.)
Note: I'll be replacing the printing logic within this with an annotation based version in the near future. Anna suggested this in review, and it seems like a strictly better format.
Differential Revision: https://reviews.llvm.org/D44524
llvm-svn: 328004
|
| |
|
|
|
|
|
|
|
| |
Move AsmToken from MC/MCParser/MCAsmLexer.h into MC/MCAsmMacro.h in
order to avoid MCAsmMacro definition depending on MCParser.
Patch by Roger Pau Monné <royger@freebsd.org>.
llvm-svn: 328003
|
| |
|
|
|
|
|
|
|
|
|
| |
The issue causing this to fail in certain configurations
should be fixed.
It was due to the fact that DIA apparently expects there to be
a null string at ID 1 in the string table. I'm not sure why this
is important but it seems to make a difference, so set it.
llvm-svn: 328002
|
| |
|
|
| |
llvm-svn: 328001
|
| |
|
|
|
|
|
|
|
| |
TopReadyCycle and BotReadyCycle were off by one cycle when an SU is either
the first instruction or the last instruction in a packet.
Patch by Ikhlas Ajbar.
llvm-svn: 328000
|