| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
If a section name is valid as a C identifier (which is rare because of
the leading '.'), linkers are expected to define __start_<secname> and
__stop_<secname> symbols. They are at beginning and end of the section,
respectively. This is not requested by the ELF standard, but GNU ld and
gold provide this feature.
llvm-svn: 250432
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13751
llvm-svn: 250431
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turns out this approach is buggy. In discussion about follow on work, Sanjoy pointed out that we could be subject to circular logic problems.
Consider:
if (i u< L) leave()
if ((i + 1) u< L) leave()
print(a[i] + a[i+1])
If we know that L is less than UINT_MAX, we could possible prove (in a control dependent way) that i + 1 does not overflow. This gives us:
if (i u< L) leave()
if ((i +nuw 1) u< L) leave()
print(a[i] + a[i+1])
If we now do the transform this patch proposed, we end up with:
if ((i +nuw 1) u< L) leave_appropriately()
print(a[i] + a[i+1])
That would be a miscompile when i==-1. The problem here is that the control dependent nuw bits got used to prove something about the first condition. That's obviously invalid.
This won't happen today, but since I plan to enhance LVI/CVP with exactly that transform at some point in the not too distant future...
llvm-svn: 250430
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
x86 codegen is clever about generating good code for relaxed
floating-point operations, but it was being silly when globals and
immediates were involved, forgetting where the global was and
loading/storing from/to the wrong place. The same applied to hard-coded
address immediates.
Don't let it forget about the displacement.
This fixes https://llvm.org/bugs/show_bug.cgi?id=25171
A very similar bug when doing floating-points atomics to the stack is
also fixed by this patch.
This fixes https://llvm.org/bugs/show_bug.cgi?id=25144
Reviewers: pete
Subscribers: llvm-commits, majnemer, rsmith
Differential Revision: http://reviews.llvm.org/D13749
llvm-svn: 250429
|
| |
|
|
| |
llvm-svn: 250428
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adjusts all integers in the reader/writer to reflect the types
stored on profile files. They should all be unsigned 32-bit or 64-bit
values. Changed all associated internal types to be uint32_t or
uint64_t.
The only place that needed some adjustments is in the sample profile
transformation. Altough the weight read from the profile are 64-bit
values, the internal API for branch weights only accepts 32-bit values.
The pass now saturates weights that overflow uint32_t.
llvm-svn: 250427
|
| |
|
|
|
|
|
| |
See:
http://reviews.llvm.org/D13777
llvm-svn: 250426
|
| |
|
|
| |
llvm-svn: 250425
|
| |
|
|
|
|
|
| |
R_PPC64_ADDR16 is not a truncated relocation, and should error if the address
cannot be represented in 16 bits.
llvm-svn: 250424
|
| |
|
|
|
|
|
|
|
|
|
| |
Unfortunately, the check was not as dead as I had thought, and adjusting the
starting VA again exposed the problem. We end up trying to relocate the bl
(using a 24-bit relative offset) to a symbol address of zero, and in general,
that does not fit.
Thus, reverting for now, and adding a test case.
llvm-svn: 250423
|
| |
|
|
|
|
|
|
|
|
|
| |
Chromium follows the Android style guide for Java code, and that doesn't make
the distinction between fields and non-fields that the Google Java style guide
makes:
https://source.android.com/source/code-style.html#use-standard-java-annotations
https://google.github.io/styleguide/javaguide.html#s4.8.5-annotations
llvm-svn: 250422
|
| |
|
|
|
|
|
|
|
|
|
| |
When a relocation points to a SHF_MERGE section, the addend has special meaning.
It should be used to find what in the section the relocation points to. It
should not be added to the output position.
Centralizing it means that the above rule will be implemented once, not once
per target.
llvm-svn: 250421
|
| |
|
|
|
|
| |
The message "raised the process limit..." prevented the progress bar.
llvm-svn: 250420
|
| |
|
|
|
|
|
| |
NFC. This is just preparation for adding a new OutputSection dedicated to
SHF_MERGE input sections.
llvm-svn: 250419
|
| |
|
|
| |
llvm-svn: 250418
|
| |
|
|
|
|
| |
Does not touch debug dumpers. NFC.
llvm-svn: 250417
|
| |
|
|
|
|
|
| |
The core C library has already been ported over to aarch64 successfully,
meaning there is no reason to hold this change back.
llvm-svn: 250416
|
| |
|
|
|
|
| |
Our internal bot is still red after r250366.
llvm-svn: 250415
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This macro is needed to prevent test/CodeGen/Mips/2008-08-01-AsmInline.ll from
failing after the integrated assembler is enabled by default.
Reviewers: vkalintiris
Subscribers: llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D13654
llvm-svn: 250414
|
| |
|
|
| |
llvm-svn: 250413
|
| |
|
|
|
|
| |
I actually did not want to commit this without review, but I mistyped. :/
llvm-svn: 250412
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When pulling a llvm::Value to be written as a PHI write, the former
code did only check whether it is within the same basic block, but it
could also be the same non-affine subregion. In that case some
unecessary pair of MemoryAccesses would have been created.
Two unit test were explicitely checking for the unecessary writes,
including the comments that the writes are unecessary.
llvm-svn: 250411
|
| |
|
|
|
|
| |
I left helpers that look useful for debugging alone. NFC.
llvm-svn: 250410
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On linux, the environment variables for temp directories that lldb checks for are generally not
defined, and the temp directory computation failed. This caused expression evaluation to fall
back to creating "/tmp/lldb-*.expr" debugging files instead of the usual
"$TMP/lldb/pid/lldb-*.expr". Crucially, these files were not cleaned up on lldb exit, which
caused clutter in the /tmp folder, especially on long-running machines (e.g. builtbots). This
commit fixes lldb to use llvm::sys::path::system_temp_directory, which does the same environment
variable dance, but (!) also falls back to the P_tmpdir macro, which is how the temp directory is
defined on linux.
Since the linux temp path computation now succeeds, I needed to also modify Android path
computation to check for actual directory existence, rather then checking whether the operation
failed.
llvm-svn: 250409
|
| |
|
|
|
|
|
|
|
| |
They happen to match
%polly.subregion.iv.inc = add i32 %polly.subregion.iv, 1
^^ ^^
that is, are misleading in what they actually check.
llvm-svn: 250408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The -mcpu=mips16 option caused the Integrated Assembler to crash because
it couldn't figure out the architecture revision number to write to the
.MIPS.abiflags section. This CPU definition has been removed because, like
microMIPS, MIPS16 is an ASE to a base architecture.
Reviewers: vkalintiris
Subscribers: rkotler, llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D13656
llvm-svn: 250407
|
| |
|
|
| |
llvm-svn: 250406
|
| |
|
|
| |
llvm-svn: 250405
|
| |
|
|
| |
llvm-svn: 250404
|
| |
|
|
|
|
|
|
|
|
|
| |
- On mingw-w64, libstdc++-6.dll is used for clang.exe. The DLL might not be in Windows' system directory.
- With --enable-shared, DLLs might be in ${CMAKE_BINARY_DIR}/bin.
I understand this test confirms that appropriate name of executable can be found on %PATH%.
Therefore I added "Output\\" before each expression.
FIXME: The output directory %T is hardcoded like "Output\\ps4-ld.exe".
llvm-svn: 250403
|
| |
|
|
|
|
|
|
|
|
|
| |
Rolling this back for now since there are a couple of bot failures on
the new tests I added, and I won't have a chance to look at them in detail
until later this afternoon. I think the new tests need some restrictions on
having the gold plugin available.
This reverts commit r250398.
llvm-svn: 250402
|
| |
|
|
|
|
|
|
| |
shuffle packed values at 128-bit granularity )
Differential Revision: http://reviews.llvm.org/D13648
llvm-svn: 250400
|
| |
|
|
| |
llvm-svn: 250399
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Add clang support for -flto=thin option, which is used to set the
EmitFunctionSummary code gen option on compiles.
Add -flto=full as an alias to the existing -flto.
Add tests to check for proper overriding of -flto variants on the
command line, and convert grep tests to FileCheck.
Reviewers: dexonsmith, joker.eph
Subscribers: davidxl, cfe-commits
Differential Revision: http://reviews.llvm.org/D11908
llvm-svn: 250398
|
| |
|
|
| |
llvm-svn: 250397
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13768
llvm-svn: 250396
|
| |
|
|
| |
llvm-svn: 250395
|
| |
|
|
| |
llvm-svn: 250394
|
| |
|
|
| |
llvm-svn: 250393
|
| |
|
|
| |
llvm-svn: 250392
|
| |
|
|
|
|
| |
LLDB_DISABLE_PYTHON. The definition of lldb::SBTypeSummary and some methods of lldb::SBValue are hidden via a LLDB_DISABLE_PYTHON check, causing an compilation fail because of their use here.
llvm-svn: 250391
|
| |
|
|
|
|
|
|
|
| |
AVX-512 bit shuffle fails on 32 bit since we create a vector of 64-bit constants.
I split 8x64-bit const vector to 16x32 on 32-bit mode.
Differential Revision: http://reviews.llvm.org/D13644
llvm-svn: 250390
|
| |
|
|
|
|
|
|
|
|
| |
When sharing the same map from old to new value, CodeGeneration would
reuse the same new value for each basic block. However, the SCEV
expander might emit code in a basic block that does not dominate a use
of the SCEV in another basic block. This test checks whether both such
blocks have their own expanded new values.
llvm-svn: 250389
|
| |
|
|
| |
llvm-svn: 250388
|
| |
|
|
| |
llvm-svn: 250387
|
| |
|
|
| |
llvm-svn: 250386
|
| |
|
|
| |
llvm-svn: 250385
|
| |
|
|
|
|
|
|
|
|
|
|
| |
types; it can't
Reviewers: arsenm, jvesely, tstellarAMD
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D13734
llvm-svn: 250384
|
| |
|
|
|
|
|
|
| |
<windows.h> defines macros named min and max in conflict with
<algorithm>. Prevent macro expansion by wrapping std::min in
parenthesis.
llvm-svn: 250383
|
| |
|
|
|
|
|
|
| |
DPAQX_S.W.PH, DPAQX_SA.W.PH, DPAU.H.QBL, DPAU.H.QBR and DPAX.W.PH instructions
Differential Revision: http://reviews.llvm.org/D13376
llvm-svn: 250382
|