| #
0fca6ea1
|
| 27-Jul-2024 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-19-init-18630-gf2ccf80136a0, t
Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-19-init-18630-gf2ccf80136a0, the last commit before the upstream release/19.x branch was created.
PR: 280562 MFC after: 1 month
show more ...
|
| #
5f757f3f
|
| 18-Dec-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.
Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.
PR: 276104 MFC after: 1 month
show more ...
|
| #
8a4dda33
|
| 11-Sep-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/17.x llvmorg-17.0.0-rc4-10-g0176e8729ea4
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-17.0.0-rc4-10-g0176e8729ea4.
PR: 27375
Merge llvm-project release/17.x llvmorg-17.0.0-rc4-10-g0176e8729ea4
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-17.0.0-rc4-10-g0176e8729ea4.
PR: 273753 MFC after: 1 month
show more ...
|
| #
06c3fb27
|
| 02-Sep-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, t
Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the last commit before the upstream release/17.x branch was created.
PR: 273753 MFC after: 1 month
show more ...
|
| #
81ad6265
|
| 04-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787.
PR: 265425 MFC afte
Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787.
PR: 265425 MFC after: 2 weeks
show more ...
|
| #
4824e7fd
|
| 02-Dec-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-11187-g222442ec2d71.
PR: 261742 MFC af
Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-11187-g222442ec2d71.
PR: 261742 MFC after: 2 weeks
show more ...
|
| #
e8d8bef9
|
| 13-Jun-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit bef
Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the upstream release/12.x branch was created.
PR: 255570 MFC after: 6 weeks
show more ...
|
| #
5ffd83db
|
| 31-Jul-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp master 2e10b7a39b9, the last commit before the llvmorg-12-init tag, from which release/11.x was branched.
Note that for now, I
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp master 2e10b7a39b9, the last commit before the llvmorg-12-init tag, from which release/11.x was branched.
Note that for now, I rolled back all our local changes to make merging easier, and I will reapply the still-relevant ones after updating to 11.0.0-rc1.
show more ...
|
| #
8bcb0991
|
| 22-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/vendor/llvm/dist up to its last change, and resolve conflicts.
|
| #
0b57cec5
|
| 20-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Move all sources from the llvm project into contrib/llvm-project.
This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That i
Move all sources from the llvm project into contrib/llvm-project.
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.
show more ...
|
| #
54db30ce
|
| 21-Aug-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm trunk r366426, resolve conflicts, and update FREEBSD-Xlist.
|
| #
1c4688a8
|
| 02-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm trunk r338150 (just before the 7.0.0 branch point), and resolve conflicts.
|
| #
51315c45
|
| 30-Jul-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm trunk r338150, and resolve conflicts.
|
| #
2cab237b
|
| 20-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm trunk r321017 to contrib/llvm.
|
| #
db17bf38
|
| 10-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305145, and update build glue.
|
| #
7a7e6055
|
| 16-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm trunk r300422 and resolve conflicts.
|
| #
d88c1a5a
|
| 02-Jan-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm to trunk r290819 and resolve conflicts.
|
| #
3ca95b02
|
| 16-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm to release_39 branch r276489, and resolve conflicts.
|
| #
7d523365
|
| 30-Dec-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm to trunk r256633.
|
| #
3dac3a9b
|
| 05-Jul-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm/clang to r241361.
|
| #
8f0fd8f6
|
| 23-Jun-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update llvm/clang to r240225.
|
| #
97bc6c73
|
| 10-Jun-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk r239412.
|
| #
ff0cc061
|
| 27-May-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and preserve our customizations, where necessary.
|
| #
39d628a0
|
| 25-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm 3.6.0rc1 from ^/vendor/llvm/dist, merge clang 3.6.0rc1 from ^/vendor/clang/dist, resolve conflicts, and cleanup patches.
|
| #
630590ab
|
| 27-Dec-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Pull in r221703 from upstream llvm trunk (by Bill Schmidt):
[PowerPC] Replace foul hackery with real calls to __tls_get_addr
My original support for the general dynamic and local dynamic TLS
Pull in r221703 from upstream llvm trunk (by Bill Schmidt):
[PowerPC] Replace foul hackery with real calls to __tls_get_addr
My original support for the general dynamic and local dynamic TLS models contained some fairly obtuse hacks to generate calls to __tls_get_addr when lowering a TargetGlobalAddress. Rather than generating real calls, special GET_TLS_ADDR nodes were used to wrap the calls and only reveal them at assembly time. I attempted to provide correct parameter and return values by chaining CopyToReg and CopyFromReg nodes onto the GET_TLS_ADDR nodes, but this was also not fully correct. Problems were seen with two back-to-back stores to TLS variables, where the call sequences ended up overlapping with unhappy results. Additionally, since these weren't real calls, the proper register side effects of a call were not recorded, so clobbered values were kept live across the calls.
The proper thing to do is to lower these into calls in the first place. This is relatively straightforward; see the changes to PPCTargetLowering::LowerGlobalTLSAddress() in PPCISelLowering.cpp. The changes here are standard call lowering, except that we need to track the fact that these calls will require a relocation. This is done by adding a machine operand flag of MO_TLSLD or MO_TLSGD to the TargetGlobalAddress operand that appears earlier in the sequence.
The calls to LowerCallTo() eventually find their way to LowerCall_64SVR4() or LowerCall_32SVR4(), which call FinishCall(), which calls PrepareCall(). In PrepareCall(), we detect the calls to __tls_get_addr and immediately snag the TargetGlobalTLSAddress with the annotated relocation information. This becomes an extra operand on the call following the callee, which is expected for nodes of type tlscall. We change the call opcode to CALL_TLS for this case. Back in FinishCall(), we change it again to CALL_NOP_TLS for 64-bit only, since we require a TOC-restore nop following the call for the 64-bit ABIs.
During selection, patterns in PPCInstrInfo.td and PPCInstr64Bit.td convert the CALL_TLS nodes into BL_TLS nodes, and convert the CALL_NOP_TLS nodes into BL8_NOP_TLS nodes. This replaces the code removed from PPCAsmPrinter.cpp, as the BL_TLS or BL8_NOP_TLS nodes can now be emitted normally using their patterns and the associated printTLSCall print method.
Finally, as a result of these changes, all references to get-tls-addr in its various guises are no longer used, so they have been removed.
There are existing TLS tests to verify the changes haven't messed anything up). I've added one new test that verifies that the problem with the original code has been fixed.
This fixes a fatal "Bad machine code" error when compiling parts of libgomp for 32-bit PowerPC.
show more ...
|