- Aug 12, 2020
-
-
Johannes Doerfert authored
With this patch we will match most *uses* of "temporary" named things in the IR via regular expressions, not their name at creation time. The new "values" we match are: - "unnamed" globals: `@[0-9]+` - debug metadata: `!dbg ![0-9]+` - loop metadata: `!loop ![0-9]+` - tbaa metadata: `!tbaa ![0-9]+` - range metadata: `!range ![0-9]+` - generic metadata: `metadata ![0-9]+` - attributes groups: `#[0-9]` We still don't match the declarations but that can be done later. This patch can introduce churn when existing check lines contain the old hardcoded versions of the above "values". We can add a flag to opt-out, or opt-in, if necessary. Reviewed By: arichardson, MaskRay Differential Revision: https://reviews.llvm.org/D85099
-
Petr Hosek authored
Rather than handling zlib handling manually, use find_package from CMake to find zlib properly. Use this to normalize the LLVM_ENABLE_ZLIB, HAVE_ZLIB, HAVE_ZLIB_H. Furthermore, require zlib if LLVM_ENABLE_ZLIB is set to YES, which requires the distributor to explicitly select whether zlib is enabled or not. This simplifies the CMake handling and usage in the rest of the tooling. This is a reland of abb00753 with all followup changes and fixes that should address issues that were reported in PR44780. Differential Revision: https://reviews.llvm.org/D79219
-
Jordan Rupprecht authored
-
Sanjay Patel authored
Based on post-commit discussion in D81766, Hexagon sets this to "0". I'll see if I can come up with a test, but making the obvious code fix first to unblock that target.
-
Thomas Lively authored
Rather than just saying that some feature is missing, report the exact features to make the error message more useful and actionable. Differential Revision: https://reviews.llvm.org/D85795
-
Dávid Bolvanský authored
-
Tim Keith authored
If an unrestricted specific intrinsic function name is first encountered as an actual argument, it should be interpreted as an object entity, not a procedure entity. Fix some tests that depended on the previous interpretation by adding explicit INTRINSIC statements. Differential Revision: https://reviews.llvm.org/D85792
-
Michael Park authored
This patch adds a few `std::visit` benchmarks as a starting point. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D85419
-
Vedant Kumar authored
This reverts commit 4a646ca9. This is causing some bots to fail with "!dbg attachment points at wrong subprogram for function", like: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/67958/steps/stage%201%20check/logs/stdio
-
Amy Huang authored
When turning on -debug-info-kind=constructor we ran into a "fragment covers entire variable" error during thinlto. The fragment is currently always emitted if there is no type size, but sometimes the variable has a forward declared struct type which doesn't have a size. This changes the code to get the type size from the GlobalVariable instead. Differential Revision: https://reviews.llvm.org/D85572
-
Nithin Vadukkumchery Rajendrakumar authored
Summary: Added support for note tags for null smart_ptr reporting Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun Reviewed By: NoQ, vsavchenko, xazax.hun Subscribers: martong, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D84600
-
Kazu Hirata authored
Without this patch, we attempt to distribute And over Xor even in unsafe circumstances like so: undef & (true ^ true) ==> (undef & true) ^ (undef & true) and evaluate it to undef instead of false. Note that "true ^ true" may show up implicitly with one true being part of a PHI node. This patch fixes the problem by teaching SimplifyUsingDistributiveLaws to not use undef as part of simplifications. Reviewers: spatel, aqjune, nikic, lebedev.ri, fhahn, jdoerfert Differential Revision: https://reviews.llvm.org/D85687
-
Jacques Pienaar authored
Allows propagating the location to ops created via NativeCodeCall. Differential Revision: https://reviews.llvm.org/D85704
-
Vedant Kumar authored
Introduce a helper on Instruction which can be used to update the debug location after hoisting. Use this in GVN and LICM, where we were mistakenly introducing new line 0 locations after hoisting (the docs recommend dropping the location in this case). For more context, see the discussion in https://reviews.llvm.org/D60913. Differential Revision: https://reviews.llvm.org/D85670
-
Adrian McCarthy authored
When loading a PE/COFF target, the associated PDB file often wasn't found. The executable module contains a path for the associated PDB file, but people often debug from a different directory than the one their build system uses. (This is especially common in post-mortem and cross platform debugging.) Suppose the COFF executable being debugged is `~/proj/foo.exe`, but it was built elsewhere and refers to `D:\remote\build\env\foobar.pdb`, LLDB wouldn't find it. With this change, if no file exists at the PDB path, LLDB will look in the executable directory for a PDB file that matches the name of the one it expected (e.g., `~/proj/foobar.pdb`). If found, the PDB is subject to the same matching criteria (GUIDs and age) as would have been used had it been in the original location. This same-directory-as-the-binary rule is commonly used by debuggers on Windows. Differential Review: https://reviews.llvm.org/D84815
-
Siva Chandra authored
-
Jian Cai authored
Add memtag as an alis of met architectture extesion to be consistent with GNU as. LINK:https://sourceware.org/bugzilla/show_bug.cgi?id=26339 Reviewed By: nickdesaulniers, MaskRay Differential Revision: https://reviews.llvm.org/D85620
-
Ilya Leoshkevich authored
When one tries to minimize timeouts using -minimize_crash=1, minimization immediately fails. The following sequence of events is responsible for this: [parent] SIGALRM occurs [parent] read() returns -EINTR (or -ERESTARTSYS according to strace) [parent] fgets() returns NULL [parent] ExecuteCommand() closes child's stdout and returns [child ] SIGALRM occurs [child ] AlarmCallback() attempts to write "ALARM: ..." to stdout [child ] Dies with SIGPIPE without calling DumpCurrentUnit() [parent] Does not see -exact_artifact_path and exits When minimizing, the timer in parent is not necessary, so fix by not setting it in this case. Reviewed By: morehouse Differential Revision: https://reviews.llvm.org/D85359
-
Nikita Popov authored
Similar to what we do in IIQ, add an isUndefValue() helper that checks for undef values while respective CanUseUndef. This makes it much easier to search for places that don't respect the flag yet.
-
Jonas Devlieghere authored
After this patch all test should have the inferior inheriting the TCC permissions from its parent.
-
Roman Lebedev authored
We should be able to see that the new aggregate we have produced is identical to the source aggregate from which we've extracted the elements that we used to form a new aggregate. This happens (a lot) in clang C++ exception code on unwind branch.
-
Louis Dionne authored
If the personalityIndex (which is 0-based) is equal to the length of the personality array, we should error out. rdar://18013273
-
Arthur Eubanks authored
Missing dependency required by https://reviews.llvm.org/D67687. Fixes lld-link: error: undefined symbol: public: __cdecl llvm::PipelineTuningOptions::PipelineTuningOptions(void) >>> referenced by C:\src\llvm-project\llvm\unittests\CodeGen\PassManagerTest.cpp:215 >>> obj/llvm/unittests/CodeGen/CodeGenTests.PassManagerTest.obj:(private: virtual void __cdecl `anonymous namespace'::PassManagerTest_Basic_Test::TestBody(void)) Differential Revision: https://reviews.llvm.org/D85682
-
Thomas Lively authored
The officially specified abbreviation for WebAssembly is Wasm and the spec explicitly calls out WASM as being an incorrect spelling. This patch fixes a few comments and error messages to use the spec-compliant abbreviation. Differential Revision: https://reviews.llvm.org/D85764
-
diggerlin authored
[AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations SUMMARY: 1. in the patch , remove setting storageclass in function .getXCOFFSection and construct function of class MCSectionXCOFF there are XCOFF::StorageMappingClass MappingClass; XCOFF::SymbolType Type; XCOFF::StorageClass StorageClass; in the MCSectionXCOFF class, these attribute only used in the XCOFFObjectWriter, (asm path do not need the StorageClass) we need get the value of StorageClass, Type,MappingClass before we invoke the getXCOFFSection every time. actually , we can get the StorageClass of the MCSectionXCOFF from it's delegated symbol. 2. we also change the oprand of branch instruction from symbol name to qualify symbol name. for example change bl .foo extern .foo to bl .foo[PR] extern .foo[PR] 3. and if there is reference indirect call a function bar. we also add extern .bar[PR] Reviewers: Jason liu, Xiangling Liao Differential Revision: https://reviews.llvm.org/D84765
-
Louis Dionne authored
-
Thomas Lively authored
This reverts commit 52b71aa8. The problem was a missing lit.local.cfg file, which was causing the test to be incorrectly run on bots that had not built the WebAssembly target.
-
Thomas Lively authored
This reverts commit 94791970. The test is failing on multiple bots, event though it passes for me locally. Reverting while I investigate further.
-
Yuanfang Chen authored
-
Julian Lettner authored
On iOS, when we `longjmp()` out of the signal handler, a subsequent call to `sigaltstack()` still reports that we are executing on the signal handler stack. Tracking rdar://66789814 Differential Revision: https://reviews.llvm.org/D85677
-
Artem Belevich authored
This test is bottlenecked by heavy regex use (~0.6s per FileCHeck run) with the content that can't be further fragmented. Instead, the test body is moved into a common .inc file and test execution has been split into four roughly equal parts. This reduces wall time for the test from 14s to ~3.5s. Differential Revision: https://reviews.llvm.org/D85695
-
Dávid Bolvanský authored
bcmp is similar to memcmp
-
Jonas Devlieghere authored
Like the rest of the test suite, also set the target.inherit-tcc option to true in lldb-test.
-
Jessica Paquette authored
I didn't build AMDGPU locally so I didn't see this. ``` (logic_op (op x...), (op y...)) -> (op (logic_op x, y)) ``` kicks in here. Differential Revision: https://reviews.llvm.org/D85761
-
Thomas Lively authored
8cc911fa refactored the `getIntrinsicInstrCost` function and was meant to be a nonfunctional change, but it accidentally changed how costs were calculated in the SLP vectorizer, which regressed WebAssembly codegen and resulted in a downstream bug report at https://github.com/emscripten-core/emscripten/issues/11449. The fix for this regression is in D85759, and this patch just pre-commits the test from that patch to demonstrate the regressed behavior first.
-
Jonas Devlieghere authored
The current code fails when the first stderr line doesn't match the given regex to parse the PID. This patch changes the code to read the first 10 lines before giving up. It also adds tracing for the simctl commands.
-
sameeran joshi authored
Summary: Fixes bug : https://bugs.llvm.org/show_bug.cgi?id=46931 This commit add a new flag -DLLVM_ENABLE_SPHINX=ON to cmake command to generate sphinx documentation, along with new cmake targets `docs-flang-html`. `ninja docs-flang-html` - generates sphinx documentation. Generated release notes are present in <builddir>/tools/flang/docs/html/ folder. Reviewers: richard.barton.arm, DavidTruby Tags: #flang Differential Revision: https://reviews.llvm.org/D85470
-
cgyurgyik authored
Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D85615
-
Jessica Paquette authored
This implements ``` (logic_op (op x...), (op y...)) -> (op (logic_op x, y)) ``` when `op` is an extend, a shift, or an and. This is similar to `DAGCombiner::hoistLogicOpWithSameOpcodeHands` (with a bunch of missing cases, e.g. G_TRUNC, G_BITCAST, etc.) This is implemented so it works both pre and post-legalization. This also adds a general way to add a series of instructions in a combine. (`applyBuildInstructionSteps`). Differential Revision: https://reviews.llvm.org/D85050
-
Jordan Rupprecht authored
The check for unsupported options checks some configs twice in a || expression. Fixes PR47107.
-