- Aug 04, 2020
-
-
Jordan Rupprecht authored
This reverts commit adb5c23f. It surprisingly fails on a windows build bot: http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja/builds/18009 Will reland after some investigation and/or after adding some extra logging to help debug the issue.
-
Chen Zheng authored
Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D85130
-
peter klausler authored
Differential Revision: https://reviews.llvm.org/D85166
-
Shinji Okumura authored
-
David Blaikie authored
-
Petr Hosek authored
Clang and GCC have a feature (-MD flag) to create a dependency file in a format that build systems such as Make or Ninja can read, which specifies all the additional inputs such .h files. This change introduces the same functionality to lld bringing it to feature parity with ld and gold which gained this feature recently. See https://sourceware.org/bugzilla/show_bug.cgi?id=22843 for more details and discussion. The implementation corresponds to -MD -MP compiler flag where the generated dependency file also includes phony targets which works around the errors where the dependency is removed. This matches the format used by ld and gold. Fixes PR42806 Differential Revision: https://reviews.llvm.org/D82437
-
Daniel Sanders authored
-
peter klausler authored
External input was detecting "end of file" conditions in BeginExternal...Input() and BeginUnformattedInput() routines before EnableHandlers() could have been called. Defer the "start next record" processing to the input data item handlers (and EndIoStatement() for when there are no data items). Differential Revision: https://reviews.llvm.org/D85161
-
peter klausler authored
Extend the raw file wrapper to get accessibility, positioning, and size information. This is needed for INQUIRE (to follow). Differential Revision: https://reviews.llvm.org/D85160
-
Christopher Tetreault authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D85156
-
Jordan Rupprecht authored
If the test suite is misconfigured when it's run (a bad regexp, wrong test directory, etc.), the test suite may not discover any tests. When this happens, the test runner exits happily because no tests failed: ``` Ran 0 tests in 0.000s RESULT: PASSED (0 passes, 0 failures, 0 errors, 0 skipped, 0 expected failures, 0 unexpected successes) ``` Change this to return an error so the misconfiguration can be more easily detected. Verified that `lldb-dotest -p TestDoesNotExist.py` successfully fails. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D85169
-
Nathan James authored
-
peter klausler authored
-
peter klausler authored
Fixes problems in FCVS test fm110.f. Add more comments, too. Differential Revision: https://reviews.llvm.org/D85163
-
hgreving authored
Adds the function createMCInst() to MCContext that creates a MCInst using a typed bump alloctor. MCInst contains a SmallVector<MCOperand, 8>. The SmallVector is POD only for <= 8 operands. The default untyped bump pointer allocator of MCContext does not delete the MCInst, so if the SmallVector grows, it's a leak. This fixes https://bugs.llvm.org/show_bug.cgi?id=46900.
-
Kazushi (Jam) Marukawa authored
In order to follow NEC Aurora SX VE ABI correctly, change to sign/zero extend integer arguments and return values smaller than 64 bits in clang. Also update regression test. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D85071
-
Christopher Tetreault authored
Differential Revision: https://reviews.llvm.org/D85151
-
Christopher Tetreault authored
Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D85152
-
Julian Lettner authored
These UBSan tests assert the absence of runtime errors via `count 0`, which means "expect no output". This fails the test unnecessarily in some environments (e.g., iOS simulator in our case). Alter the test to be a bit more specific and "expect no error" instead of "expect no output". rdar://65503408 Differential Revision: https://reviews.llvm.org/D85155
-
Jordan Rupprecht authored
-
Christopher Tetreault authored
Differential Revision: https://reviews.llvm.org/D85154
-
Fangrui Song authored
Reland D61689 Change -gz and -Wa,--compress-debug-sections to use gABI compression (SHF_COMPRESSED) with integrated assembler This fixes an inconsistency: clang -c -gz -fno-integrated-as means SHF_COMPRESSED while clang -c -gz -fintegrated-as means zlib-gnu. --- Since July 15, 2015 (binutils-gdb commit 19a7fe52ae3d0971e67a134bcb1648899e21ae1c, included in 2.26), gas --compress-debug-sections=zlib (gcc -gz) means zlib-gabi: SHF_COMPRESSED. Before that GCC/binutils used zlib-gnu (.zdebug). clang's -gz was introduced in rC306115 (Jun 2017) to indicate zlib-gnu. It is 2020 now and it is not unreasonable to assume users of the new feature to have new linkers (ld.bfd/gold >= 2.26, lld >= rLLD273661). Change clang's default accordingly to improve standard conformance. zlib-gnu becomes out of fashion and gets poorer toolchain support. Its mangled names confuse tools and are more likely to cause problems. Reviewed By: compnerd Differential Revision: https://reviews.llvm.org/D61689
-
peter klausler authored
And fix a minor bug exposed by doing so. Differential Revision: https://reviews.llvm.org/D85164
-
Alina Sbirlea authored
Merging alias results from different paths, when a path did phi translation is not necesarily correct. Conservatively terminate such paths. Aimed to fix PR46156. Differential Revision: https://reviews.llvm.org/D84905
-
River Riddle authored
Unit attributes are given meaning by their existence, and thus have no meaningful value beyond "is it present". As such, in the format of an operation unit attributes are generally used to guard the printing of other elements and aren't generally printed themselves; as the presence of the group when parsing means that the unit attribute should be added. This revision adds support to the declarative format for eliding unit attributes in situations where they anchor an optional group, but aren't the first element. For example, ``` let assemblyFormat = "(`is_optional` $unit_attr^)? attr-dict"; ``` would print `foo.op is_optional` when $unit_attr is present, instead of the current `foo.op is_optional unit`. Differential Revision: https://reviews.llvm.org/D84577
-
Mitch Phillips authored
GlobalISel is the default ISel for aarch64 at -O0. Prior to D78465, GlobalISel didn't have support for dealing with address-of-global lowerings, so it fell back to SelectionDAGISel. HWASan Globals require special handling, as they contain the pointer tag in the top 16-bits, and are thus outside the code model. We need to generate a `movk` in the instruction sequence with a G3 relocation to ensure the bits are relocated properly. This is implemented in SelectionDAGISel, this patch does the same for GlobalISel. GlobalISel and SelectionDAGISel differ in their lowering sequence, so there are differences in the final instruction sequence, explained in `tagged-globals.ll`. Both of these implementations are correct, but GlobalISel is slightly larger code size / slightly slower (by a couple of arithmetic instructions). I don't see this as a problem for now as GlobalISel is only on by default at `-O0`. Reviewed By: aemerson, arsenm Differential Revision: https://reviews.llvm.org/D82615
-
David Green authored
VPSEL has slightly different semantics under tail predication (it can end up selecting from Qn, Qm and Qd). We do not model that at the moment so they block tail predicated loops from being formed. This just converts them into a predicated VMOV instead (via a VORR), allowing tail predication to happen whilst still modelling the original behaviour of the input. Differential Revision: https://reviews.llvm.org/D85110
-
Thomas Lively authored
Specified in https://github.com/WebAssembly/simd/pull/237, these instructions load the first vector lane from memory and zero the other lanes. Since these instructions are not officially part of the SIMD proposal, they are only available on an opt-in basis via LLVM intrinsics and clang builtin functions. If these instructions are merged to the proposal, this implementation will change so that the instructions will be generated from normal IR. At that point the intrinsics and builtin functions would be removed. This PR also changes the opcodes for the experimental f32x4.qfm{a,s} instructions because their opcodes conflicted with those of the v128.load{32,64}_zero instructions. The new opcodes were chosen to match those used in V8. Differential Revision: https://reviews.llvm.org/D84820
-
Mitch Phillips authored
This reverts commit 219f32f4. Commit contains unsigned compasions that break bots that build with -Wsign-compare.
-
David Green authored
-
Fangrui Song authored
Part of https://bugs.llvm.org/show_bug.cgi?id=41734 LTO can drop externally available definitions. Such AssociatedSymbol is not associated with a symbol. ELFWriter::writeSection() will assert. Allow a SHF_LINK_ORDER section to have sh_link=0. We need to give sh_link a syntax, a literal zero in the linked-to symbol position, e.g. `.section name,"ao",@progbits,0` Reviewed By: pcc Differential Revision: https://reviews.llvm.org/D72899
-
Akira Hatanaka authored
notail on x86-64 This is needed because the epilogue code inserted before tail calls on x86-64 breaks the handshake between the caller and callee. Calls to objc_retainAutoreleasedReturnValue used to have the same problem, which was fixed in https://reviews.llvm.org/D59656. rdar://problem/66029552 Differential Revision: https://reviews.llvm.org/D84540
-
Daniel Sanders authored
Once available in the relevant toolchains this will allow us to implement LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR after D84127 by directly placing the dSYM in the desired location instead of emitting next to the output file and moving it. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D84572
-
Jon Roelofs authored
-
Eli Friedman authored
Fixes test-suite compile failure caused by 8dfb5d76. While I'm in the area, add some more test coverage to related operations, to make sure we aren't missing any other patterns.
-
Lang Hames authored
Archives can now be specified as input files the same way that object files are. Archives will always be linked after all objects (regardless of the relative order of the inputs) but before any dynamic libraries or process symbols. This patch also relaxes matching for slice triples in StaticLibraryDefinitionGenerator in order to support this feature: Vendors need not match if the source vendor is unknown.
-
Hiroshi Yamauchi authored
Following up D81682 and enable the new, extended value profile buckets for mem op sizes. Differential Revision: https://reviews.llvm.org/D83903
-
Tim Keith authored
Don't set the INTRINSIC attribute on a dummy procedure. Differential Revision: https://reviews.llvm.org/D85136
-
-
Sanjay Patel authored
-