| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the new layout of the upstream repository, which was recently
migrated to GitHub, and converted into a "monorepo". That is, most of
the earlier separate sub-projects with their own branches and tags were
consolidated into one top-level directory, and are now branched and
tagged together.
Updating the vendor area to match this layout is next.
Notes:
svn path=/head/; revision=355940
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[RISCV] Add Custom Parser for Atomic Memory Operands
Summary:
GCC Accepts both (reg) and 0(reg) for atomic instruction memory
operands. These instructions do not allow for an offset in their
encoding, so in the latter case, the 0 is silently dropped.
Due to how we have structured the RISCVAsmParser, the easiest way to
add support for parsing this offset is to add a custom AsmOperand and
parser. This parser drops all the parens, and just keeps the
register.
This commit also adds a custom printer for these operands, which
matches the GCC canonical printer, printing both `(a0)` and `0(a0)`
as `(a0)`.
Reviewers: asb, lewis-revill
Reviewed By: asb
Subscribers: s.egerton, hiraditya, rbar, johnrusso, simoncook,
apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay,
zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o,
rkruppe, jfb, PkmX, jocewei, psnobl, benna, Jim, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65205
llvm-svn: 367553
Merge commit f596f4507 from llvm git (by Sam Elliott):
[RISCV] Add FreeBSD targets
Reviewers: asb
Reviewed By: asb
Subscribers: simoncook, s.egerton, lenary, psnobl, benna, mhorne,
emaste, kito-cheng, shiva0217, rogfer01, rkruppe, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D57795
Patch by James Clarke (jrtc27)
llvm-svn: 367557
Merge commit f596f4507 from llvm git (by Hsiangkai Wang):
[DebugInfo] Generate fixups as emitting DWARF .debug_frame/.eh_frame.
It is necessary to generate fixups in .debug_frame or .eh_frame as
relaxation is enabled due to the address delta may be changed after
relaxation.
There is an opcode with 6-bits data in debug frame encoding. So, we
also need 6-bits fixup types.
Differential Revision: https://reviews.llvm.org/D58335
llvm-svn: 366524
Merge commit f596f4507 from llvm git (by Hsiangkai Wang):
[DebugInfo] Some fields do not need relocations even relax is enabled.
In debug frame information, some fields, e.g., Length in CIE/FDE and
Offset in FDE are attributes to describe the structure of CIE/FDE.
They are not related to the relaxed code. However, these attributes
are symbol differences. So, in current design, these attributes will
be filled as zero and LLVM generates relocations for them.
We only need to generate relocations for symbols in executable
sections. So, if the symbols are not located in executable sections,
we still evaluate their values under relaxation.
Differential Revision: https://reviews.llvm.org/D61584
llvm-svn: 366531
Merge commit f596f4507 from llvm git (by Alex Bradbury):
[RISCV] Don't force absolute FK_Data_X fixups to relocs
The current behavior of shouldForceRelocation forces relocations for
the majority of fixups when relaxation is enabled. This makes sense
for fixups which incorporate symbols but is unnecessary for simple
data fixups where the fixup target is already resolved to an absolute
value.
Differential Revision: https://reviews.llvm.org/D63404
Patch by Edward Jones.
llvm-svn: 369257
Merge commit f596f4507 from llvm git (by Alex Bradbury):
[RISCV] Implement getExprForFDESymbol to ensure RISCV_32_PCREL is
used for the FDE location
Follow binutils in using RISCV_32_PCREL for the FDE initial location.
As explained in the relevant binutils commit
<https://github.com/riscv/riscv-binutils-gdb/commit/a6cbf936e3dce68114d28cdf60d510a3f78a6d40>,
the ADD/SUB pair of relocations is problematic in the presence of
linker relaxation.
This patch has the same end goal as D64715 but includes test changes
and avoids adding a new global VariantKind to MCExpr.h (preferring
RISCVMCExpr VKs like the rest of the RISC-V backend).
Differential Revision: https://reviews.llvm.org/D66419
llvm-svn: 369375
This series of merges will permit riscv64 kernels and riscv64sf worlds
to build with clang instead of gcc (but still using the bfd linker).
Requested by: jhb
Obtained from: https://github.com/freebsd/freebsd/compare/master...bsdjhb:riscv_clang
MFC after: 1 month
X-MFC-With: r353358
Notes:
svn path=/head/; revision=354469
|
|
|
|
|
|
|
| |
release_90 branch r369369, and update version numbers.
Notes:
svn path=/projects/clang900-import/; revision=351708
|
|
|
|
| |
Notes:
svn path=/projects/clang900-import/; revision=351344
|
|
|
|
|
|
|
|
|
|
|
| |
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.
MFC after: 2 weeks
Notes:
svn path=/head/; revision=349004
|
|\
| |
| |
| | |
Notes:
svn path=/projects/clang800-import/; revision=344178
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[MC] Make symbol version errors non-fatal
We stil don't have a source location, which is pretty lame, but at
least we won't tell the user to file a clang bug report anymore.
Fixes PR40712
This will make errors for symbols with @@ versions that are not defined
non-fatal. For example:
void f(void)
{
__asm__(".symver foo,bar@@baz");
}
will now result in:
error: versioned symbol bar@@baz must be defined
instead of clang crashing with a diagnostic report.
PR: 234671
Upstream PR: https://bugs.llvm.org/show_bug.cgi?id=40712
MFC after: 3 days
Notes:
svn path=/head/; revision=344112
|
| |
| |
| |
| |
| |
| |
| | |
r354130, resolve conflicts, and bump version numbers.
Notes:
svn path=/projects/clang800-import/; revision=344177
|
| |
| |
| |
| | |
Notes:
svn path=/projects/clang800-import/; revision=343313
|
|/
|
|
| |
Notes:
svn path=/projects/clang800-import/; revision=343210
|
|
|
|
|
|
|
|
|
|
| |
r348686 (effectively 7.0.1 rc3), resolve conflicts, and bump version
numbers.
PR: 230240, 230355
Notes:
svn path=/projects/clang700-import/; revision=341763
|
|
|
|
|
|
|
|
|
| |
r341916, resolve conflicts, and bump version numbers.
PR: 230240, 230355
Notes:
svn path=/projects/clang700-import/; revision=338597
|
|
|
|
|
|
|
|
|
| |
r340910, resolve conflicts, and bump version numbers.
PR: 230240, 230355
Notes:
svn path=/projects/clang700-import/; revision=338391
|
|
|
|
|
|
|
| |
r339355, resolve conflicts, and bump version numbers.
Notes:
svn path=/projects/clang700-import/; revision=337645
|
|
|
|
|
|
|
| |
resolve conflicts.
Notes:
svn path=/projects/clang700-import/; revision=337149
|
|
|
|
| |
Notes:
svn path=/projects/clang700-import/; revision=336916
|
|
|
|
|
|
|
|
|
|
| |
6.0.1 release (upstream r335540).
Relnotes: yes
MFC after: 2 weeks
Notes:
svn path=/head/; revision=335799
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't treat .symver as a regular alias definition.
This patch starts simplifying the handling of .symver.
For now it just moves the responsibility for creating an alias down to
the streamer. With that the asm streamer can pass a .symver unchanged,
which is nice since gas cannot parse "foo@bar = zed".
In a followup I hope to move the handling down to the writer so that
we don't need special hacks for avoiding breaking names with @@@ on
windows.
Pull in r327160 from upstream llvm trunk (by Rafael Espindola):
Delay creating an alias for @@@.
With this we only create an alias for @@@ once we know if it should
use @ or @@. This avoids last minutes renames and hacks to handle MS
names.
This only handles the ELF writer. LTO still has issues with @@@
aliases.
Pull in r327928 from upstream llvm trunk (by Vitaly Buka):
Object: Move attribute calculation into RecordStreamer. NFC
Summary: Preparation for D44274
Reviewers: pcc, espindola
Subscribers: hiraditya
Differential Revision: https://reviews.llvm.org/D44276
Pull in r327930 from upstream llvm trunk (by Vitaly Buka):
Object: Fix handling of @@@ in .symver directive
Summary:
name@@@nodename is going to be replaced with name@@nodename if symbols is
defined in the assembled file, or name@nodename if undefined.
https://sourceware.org/binutils/docs/as/Symver.html
Fixes PR36623
Reviewers: pcc, espindola
Subscribers: mehdi_amini, hiraditya
Differential Revision: https://reviews.llvm.org/D44274
Together, these changes fix handling of @@@ in .symver directives when
doing Link Time Optimization.
Reported by: Shawn Webb <shawn.webb@hardenedbsd.org>
MFC after: 3 months
X-MFC-With: r327952
Notes:
svn path=/head/; revision=331366
|
|
|
|
|
|
|
|
|
|
|
| |
6.0.0 (branches/release_60 r325330).
MFC after: 3 months
X-MFC-With: r327952
PR: 224669
Notes:
svn path=/head/; revision=329410
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a MCExpr for the size of MCFillFragment.
This allows the size to be found during ralaxation. This fixes
[LLVM] pr35858.
Requested by: royger
Notes:
svn path=/head/; revision=328596
|
|
|
|
|
|
|
|
|
| |
Don't create MCFillFragment directly.
Instead use higher level APIs that take care of most bookkeeping.
Notes:
svn path=/head/; revision=328595
|
|
|
|
|
|
|
|
|
| |
Make one of the emitFill methods non virtual. NFC.
This is just preparatory work to fix [LLVM] PR35858.
Notes:
svn path=/head/; revision=328594
|
|
|
|
|
|
|
|
|
|
|
| |
6.0.0 (branches/release_60 r323338).
MFC after: 3 months
X-MFC-With: r327952
PR: 224669
Notes:
svn path=/head/; revision=328381
|
|
|
|
|
|
|
| |
update build glue and version numbers.
Notes:
svn path=/projects/clang600-import/; revision=327657
|
|
|
|
|
|
|
|
| |
update build glue and version numbers, add new intrinsics headers, and
update OptionalObsoleteFiles.inc.
Notes:
svn path=/projects/clang600-import/; revision=327330
|
|
|
|
| |
Notes:
svn path=/projects/clang600-import/; revision=327134
|
|
|
|
| |
Notes:
svn path=/projects/clang600-import/; revision=327023
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=320970
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=320572
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=320397
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=320041
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=319799
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=319547
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=319479
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=319250
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=319164
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=318384
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=317969
|
|
|
|
|
|
|
| |
build glue (preliminary, not all option combinations work yet).
Notes:
svn path=/projects/clang500-import/; revision=317778
|
|
|
|
|
|
|
| |
build glue.
Notes:
svn path=/projects/clang500-import/; revision=317472
|
|
|
|
| |
Notes:
svn path=/projects/clang500-import/; revision=317230
|
|
|
|
| |
Notes:
svn path=/projects/clang500-import/; revision=317029
|
|
|
|
|
|
|
| |
r294803, and update build glue.
Notes:
svn path=/projects/clang400-import/; revision=313643
|
|
|
|
|
|
|
| |
r293807, and update build glue.
Notes:
svn path=/projects/clang400-import/; revision=313067
|
|
|
|
| |
Notes:
svn path=/projects/clang400-import/; revision=311142
|
|
|
|
| |
Notes:
svn path=/projects/clang390-import/; revision=304240
|
|
|
|
| |
Notes:
svn path=/projects/clang380-import/; revision=294024
|
|
|
|
| |
Notes:
svn path=/projects/clang380-import/; revision=293265
|
|
|
|
| |
Notes:
svn path=/projects/clang380-import/; revision=292941
|
|
|
|
|
|
|
|
|
|
| |
bugfix-only release, with no new features.
Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.
Notes:
svn path=/head/; revision=292735
|