|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4 |
|
| #
21826653 |
| 11-Mar-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Don't confuse type attributes on declaration and call
We should not be using APIs here that try to fetch the attribute from both the call attributes and the function attributes. Otherwise
[Bitcode] Don't confuse type attributes on declaration and call
We should not be using APIs here that try to fetch the attribute from both the call attributes and the function attributes. Otherwise we'll try to upgrade a non-existent sret attribute on the call using the attribute on the function.
show more ...
|
| #
cda82d39 |
| 11-Mar-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Check for type mismatch when assigning value
If the value is forward-declared, then the type must match, otherwise we can't RAUW.
|
| #
e732f69e |
| 11-Mar-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Report error for missing element type for attr upgrade
Otherwise this is going to crash either the TypeFinder or the Verifier.
|
|
Revision tags: llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
4a794d84 |
| 15-Feb-2022 |
Jan Korous <[email protected]> |
[Bitstream] Improve error propagation from ReadVBR
Differential Revision: https://reviews.llvm.org/D119307
|
| #
ea93ca60 |
| 09-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Fix size check for DIImportedEntity record
This was using && instead of ||.
|
| #
72248712 |
| 09-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Check minimum size of constant GEP record
Checking this early, because we may end up reading up to two records before the operands.
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
bf17cb29 |
| 08-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitstream] Make MaxChunkSize word-size independent
We only support chunks <= 32 bits regardless of whether we're running on a 64-bit platform or not. Chunk size > 32 <= 64 would cause UB in the rea
[Bitstream] Make MaxChunkSize word-size independent
We only support chunks <= 32 bits regardless of whether we're running on a 64-bit platform or not. Chunk size > 32 <= 64 would cause UB in the reading code.
show more ...
|
| #
6d52ea88 |
| 08-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Prevent OOB read for invalid name size
|
| #
67348c8a |
| 08-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitstream] Check for unterminated VBR
This avoid shift larger than bitwidth UB.
|
| #
77f5a3fb |
| 07-Feb-2022 |
Andrew Browne <[email protected]> |
[Bitstream] Temporarily disable UBSan for invalid bitcode tests. This fixes failing sanitizer buildbots.
Tests added by https://github.com/llvm/llvm-project/commit/3c86642edd28f1ce970882edaba8dce4
[Bitstream] Temporarily disable UBSan for invalid bitcode tests. This fixes failing sanitizer buildbots.
Tests added by https://github.com/llvm/llvm-project/commit/3c86642edd28f1ce970882edaba8dce468ec7401 https://github.com/llvm/llvm-project/commit/f4fca0fbb052e55935b483c8955c440b59511ce8 cause existing code to exhibit UB: https://github.com/llvm/llvm-project/blob/b4c6d1bb379192cb5b712fda9f60cd105f21194f/llvm/include/llvm/Bitstream/BitstreamReader.h#L244
llvm/include/llvm/Bitstream/BitstreamReader.h:244:51: runtime error: shift exponent 35 is too large for 32-bit type 'unsigned int'
Hitting the UBSan error before the expected error causes the test to fail under UBSan:
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D119182
show more ...
|
| #
f4fca0fb |
| 07-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Replace assertion with check
|
| #
0c553bff |
| 07-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Guard against out of bounds value reference
We should make sure that the value ID is in bounds, otherwise we will assert / read out of bounds.
|
| #
ec18030f |
| 07-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitstream] Check that there is enough space for blob
Instead of simply assuming that it will be zero. I double checked that the bitstream reader doesn't have any special handling for all-zero blobs
[Bitstream] Check that there is enough space for blob
Instead of simply assuming that it will be zero. I double checked that the bitstream reader doesn't have any special handling for all-zero blobs, it will always write out the full contents.
show more ...
|
| #
89017772 |
| 07-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Don't assert on invalid attribute group record
Report an error instead.
|
| #
3c86642e |
| 07-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitstream] Reject implausibly large reservations
If we're trying to reserve more memory than bits in the stream, reject this early to avoid OOM.
|
| #
8a718541 |
| 07-Feb-2022 |
Nikita Popov <[email protected]> |
[Bitcode] Handle invalid abbrev number error more gracefully
Avoid report_fatal_error(), propagate the error upwards instead.
|
| #
c00ef03d |
| 04-Feb-2022 |
Nikita Popov <[email protected]> |
[BitstreamReader] Handle errors more gracefully
Use proper error reporting instead of report_fatal_error().
|
|
Revision tags: llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
| #
7a29a123 |
| 19-May-2021 |
Arthur Eubanks <[email protected]> |
[Verifier] Move some atomicrmw/cmpxchg checks to instruction creation
These checks already exist as asserts when creating the corresponding instruction. Anybody creating these instructions already n
[Verifier] Move some atomicrmw/cmpxchg checks to instruction creation
These checks already exist as asserts when creating the corresponding instruction. Anybody creating these instructions already need to take care to not break these checks.
Move the checks for success/failure ordering in cmpxchg from the verifier to the LLParser and BitcodeReader plus an assert.
Add some tests for cmpxchg ordering. The .bc files are created from the .ll files with an llvm-as with these checks disabled.
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D102803
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
| #
4ad76852 |
| 12-Feb-2020 |
Yuanfang Chen <[email protected]> |
Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`"""
This reverts commit 80a34ae31125aa46dcad47162ba45b152aed968d with fixes.
Previously, since bots turning on EXP
Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`"""
This reverts commit 80a34ae31125aa46dcad47162ba45b152aed968d with fixes.
Previously, since bots turning on EXPENSIVE_CHECKS are essentially turning on MachineVerifierPass by default on X86 and the fact that inline-asm-avx-v-constraint-32bit.ll and inline-asm-avx512vl-v-constraint-32bit.ll are not expected to generate functioning machine code, this would go down to `report_fatal_error` in MachineVerifierPass. Here passing `-verify-machineinstrs=0` to make the intent explicit.
show more ...
|
| #
17122ec1 |
| 13-Feb-2020 |
Yuanfang Chen <[email protected]> |
Revert "Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""""
This reverts commit bb51d243308dbcc9a8c73180ae7b9e47b98e68fb.
|
| #
bb51d243 |
| 12-Feb-2020 |
Yuanfang Chen <[email protected]> |
Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`"""
This reverts commit 80a34ae31125aa46dcad47162ba45b152aed968d with fixes.
On bots llvm-clang-x86_64-expensive-c
Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`"""
This reverts commit 80a34ae31125aa46dcad47162ba45b152aed968d with fixes.
On bots llvm-clang-x86_64-expensive-checks-ubuntu and llvm-clang-x86_64-expensive-checks-debian only, llc returns 0 for these two tests unexpectedly. I tweaked the RUN line a little bit in the hope that LIT is the culprit since this change is not in the codepath these tests are testing. llvm\test\CodeGen\X86\inline-asm-avx-v-constraint-32bit.ll llvm\test\CodeGen\X86\inline-asm-avx512vl-v-constraint-32bit.ll
show more ...
|
| #
80a34ae3 |
| 12-Feb-2020 |
Yuanfang Chen <[email protected]> |
Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""
This reverts commit rGcd5b308b828e, rGcd5b308b828e, rG8cedf0e2994c.
There are issues to be investigated for polly bots
Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""
This reverts commit rGcd5b308b828e, rGcd5b308b828e, rG8cedf0e2994c.
There are issues to be investigated for polly bots and bots turning on EXPENSIVE_CHECKS.
show more ...
|
| #
8cedf0e2 |
| 11-Feb-2020 |
Yuanfang Chen <[email protected]> |
Reland "[Support] make report_fatal_error `abort` instead of `exit`"
Summary: Reland D67847 after D73742 is committed. Replace `sys::Process::Exit(1)` with `abort` in `report_fatal_error`.
After th
Reland "[Support] make report_fatal_error `abort` instead of `exit`"
Summary: Reland D67847 after D73742 is committed. Replace `sys::Process::Exit(1)` with `abort` in `report_fatal_error`.
After this patch, for tools turning on `CrashRecoveryContext`, crash handler installed by `CrashRecoveryContext` is called unless they installed a non-returning handler using `llvm::install_fatal_error_handler` like `cc1_main` currently does.
Reviewers: rnk, MaskRay, aganea, hans, espindola, jhenderson
Subscribers: jholewinski, qcolombet, dschuff, jyknight, emaste, sdardis, nemanjai, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, zzheng, edward-jones, atanasyan, steven_wu, rogfer01, MartinMosbeck, brucehoult, the_o, dexonsmith, PkmX, rupprecht, jocewei, jsji, Jim, dmgreen, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, kerbowa, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D74456
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc1 |
|
| #
6e24c603 |
| 16-Jan-2020 |
Yuanfang Chen <[email protected]> |
Revert "[Support] make report_fatal_error `abort` instead of `exit`"
This reverts commit 647c3f4e47de8a850ffcaa897db68702d8d2459a.
Got bots failure from sanitizer-windows and maybe others.
|
|
Revision tags: llvmorg-11-init |
|
| #
647c3f4e |
| 15-Jan-2020 |
Yuanfang Chen <[email protected]> |
[Support] make report_fatal_error `abort` instead of `exit`
Summary: This patch could be treated as a rebase of D33960. It also fixes PR35547. A fix for `llvm/test/Other/close-stderr.ll` is proposed
[Support] make report_fatal_error `abort` instead of `exit`
Summary: This patch could be treated as a rebase of D33960. It also fixes PR35547. A fix for `llvm/test/Other/close-stderr.ll` is proposed in D68164. Seems the consensus is that the test is passing by chance and I'm not sure how important it is for us. So it is removed like in D33960 for now. The rest of the test fixes are just adding `--crash` flag to `not` tool.
** The reason it fixes PR35547 is
`exit` does cleanup including calling class destructor whereas `abort` does not do any cleanup. In multithreading environment such as ThinLTO or JIT, threads may share states which mostly are ManagedStatic<>. If faulting thread tearing down a class when another thread is using it, there are chances of memory corruption. This is bad 1. It will stop error reporting like pretty stack printer; 2. The memory corruption is distracting and nondeterministic in terms of error message, and corruption type (depending one the timing, it could be double free, heap free after use, etc.).
Reviewers: rnk, chandlerc, zturner, sepavloff, MaskRay, espindola
Reviewed By: rnk, MaskRay
Subscribers: wuzish, jholewinski, qcolombet, dschuff, jyknight, emaste, sdardis, nemanjai, jvesely, nhaehnle, sbc100, arichardson, jgravelle-google, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, lenary, s.egerton, pzheng, cfe-commits, MaskRay, filcab, davide, MatzeB, mehdi_amini, hiraditya, steven_wu, dexonsmith, rupprecht, seiya, llvm-commits
Tags: #llvm, #clang
Differential Revision: https://reviews.llvm.org/D67847
show more ...
|