- Nov 02, 2019
-
-
Craig Topper authored
[TargetLowering] Move the setBooleanContents check on (xor (setcc), (setcc)) == / != 1 -> (setcc) != / == (setcc) to the right place We need to be checking the value types for the inner setccs not the outer setcc. We need to ensure those setccs produce a 0/1 value or that the xor is on the i1 type. I think at the time this code was originally written, getBooleanContents didn't take any arguments so this was probably correct. But now we can have a different boolean contents for integer and floating point. Not sure why the other combines below the xor were also checking the boolean contents. None of them involve any setccs other than the outer one and they only produce a new setcc. Differential Revision: https://reviews.llvm.org/D69480
-
Craig Topper authored
[MachineBasicBlock] Skip over debug instructions in computeRegisterLiveness before checking for begin If there are debug instructions before the stopping point, we need to skip over them before checking for begin in order to avoid having the debug instructions effect behavior. Fixes PR43758. Differential Revision: https://reviews.llvm.org/D69606
-
Nikita Popov authored
The changes to update_test_checks format have been disabled again, so regenerate these tests. Also regenerate select.ll.
-
Michael Liao authored
Reviewers: arsenm, rampitec Subscribers: kzhuravl, jvesely, wdng, nhaehnle, dstuttard, tpr, t-tye, hiraditya, llvm-commits, yaxunl Tags: #llvm Differential Revision: https://reviews.llvm.org/D69735
-
Teresa Johnson authored
This recommits cc0b9647 which was reverted in d39d1a2f. I added a fix for an issue found when testing via distributed ThinLTO, and added a test case for that failure.
-
Reid Kleckner authored
Summary: The general Function::hasAddressTaken has two issues that make it inappropriate for our purposes: 1. it is sensitive to dead constant users (PR43858 / crbug.com/1019970), leading to different codegen when debu info is enabled 2. it considers direct calls via a function cast to be address escapes The first is fixable, but the second is not, because IPO clients rely on this behavior. They assume this function means that all call sites are analyzable for IPO purposes. So, implement our own analysis, which gets closer to finding functions that may be indirect call targets. Reviewers: ajpaverd, efriedma, hans Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69676
-
Sourabh Singh Tomar authored
-
Craig Topper authored
[X86] Change the behavior of canWidenShuffleElements used by lowerV2X128Shuffle to match the behavior in lowerVectorShuffle with regards to zeroable elements. Previously we marked zeroable elements in a way that prevented the widening check from recognizing that it could widen. Now we only mark them zeroable if V2 is an all zeros vector. This matches what we do for widening elements in lowerVectorShuffle. Fixes PR43866.
-
Reid Kleckner authored
Recent versions of Microsoft's dumpbin tool cannot handle such PE files. LLVM tools and GNU tools can, and use this to encode long section names like ".debug_info", which is commonly used for DWARF. Don't do this in mingw mode or when -debug:dwarf is passed, since the user probably wants long section names for DWARF sections. PR43754 Reviewers: ruiu, mstorsjo Differential Revision: https://reviews.llvm.org/D69594
-
Vladimir Vereschaka authored
This cache file can be used to build a cross Windows to ARM Linux toolchain. Differential Revision: https://reviews.llvm.org/D69651
-
Martin Storsjö authored
This allows explicitly specifying the intended target architecture, for tests that aren't supposed to be executed, and that don't require MSVC headers or libraries to be available. (These tests already implicitly assumed to be built for x86; one didn't specify anything, assuming x86_64, while the other specified --arch=32, which only picks the 32 bit variant of the default target architecture). Join two comment lines in disassembly.cpp, to keep row numbers checked in the test unchanged. This fixes running check-lldb on arm linux. Previously when this was applied (in 95980409), it broke macos buildbots, as they added "-isysroot <path>" to all %clang* substitutions, and clang-cl didn't support that. Reapplying it without further changes to this patch, after D69619 (9c739252), because now, such extra parameters are added to %clang_host*, but not to plain %clang_cl. Differential Revision: https://reviews.llvm.org/D69031
-
Reid Kleckner authored
LLDB already requires Python 3 on Windows, so I already configure it that way. For some reason CMake fails to find the one that Visual Studio automatically installs at this standard location: C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe CMake prefers the python on path, which happens to be python 2.7. Reviewers: aprantl, jmorse Differential Revision: https://reviews.llvm.org/D69684
-
Joel E. Denny authored
Without this patch, when using lit's internal shell, if `env` on a lit RUN line calls `env`, lit accidentally searches for the latter as an external executable. What's worse is that works fine when a developer is testing on a platform where `env` is available and behaves as expected, but it then breaks on other platforms. `env` calling `env` can make sense if one such `env` is within a lit substitution, as in D65156 and D65121. This patch ensures that lit executes both as internal commands. Reviewed By: probinson, mgorny, rnk Differential Revision: https://reviews.llvm.org/D65697
-
Fangrui Song authored
-
Siva Chandra Reddy authored
Setup demonstrated in this patch is only for ELF-ish platforms. Also note: 1. Use of redirectors is a temporary scheme. They will be removed once LLVM-libc has implementations for the redirected functions. 2. Redirectors are optional. One can choose to not include them in the LLVM-libc build for their platform. 3. Even with redirectors used, we want to link to the system libc dynamically. Reviewers: dlj, hfinkel, jakehehrlich, phosek, stanshebs, theraven, alexshap Subscribers: mgorny, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D69020
-
Simon Pilgrim authored
combineBitcastvxi1 only handles bitcast->MOVMSK combines, with mask registers we use BITCAST directly.
-
Jonas Devlieghere authored
Ensure we walk the children of common blocks when deciding what DIEs to keep. Otherwise we might incorrectly discard them leading to missing variables in the linked debug info. This also sorts the list of DW_TAGs alphabetically.
-
Evgenii Stepanov authored
Summary: A lot of this is work in progress... Reviewers: kcc, pcc Subscribers: cryptoad, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69289
-
Thomas Lively authored
Summary: This instruction is not merged to the spec proposal, but we need it to be implemented in the toolchain to experiment with it. It is available only on an opt-in basis through a clang builtin. Defined in https://github.com/WebAssembly/simd/pull/127. Depends on D69696. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D69697
-
Craig Topper authored
-
Thomas Lively authored
This reverts commit e5cae569, which reverted 11850a63. The original revert was done because of breakage that was actually in a separate commit, 2ab1b8c1, which was also reverted and has since been fixed and relanded.
-
kristina authored
Use `/proc/self/exe` to get the current executable path on GNU Hurd. Patch by sthibaul (Samuel Thibault) Differential Revision: https://reviews.llvm.org/D69683
-
Simon Pilgrim authored
In a future patch this will avoid some checks which don't need to be done for some opcodes.
-
Evgenii Stepanov authored
External project configuration for libcxxabi now has exceptions on by default, but this is not needed for libfuzzer.
-
Teresa Johnson authored
This reverts commit cc0b9647. The commit is causing a failure in internal testing. Will recommit with a fix later.
-
Fangrui Song authored
In -DBUILD_SHARED_LIBS=on builds, a component must specify its direct dependencies to satisfy -Wl,-z,defs (added by llvm/modules/HandleLLVMOptions.cmake). Core is a direct dependency via transitive header inclusion: ld.lld: error: undefined symbol: llvm::LLVMContext::LLVMContext() >>> referenced by MachineSizeOptsTest.cpp >>> unittests/Target/X86/CMakeFiles/X86Tests.dir/MachineSizeOptsTest.cpp.o:(testing::internal::TestFactoryImpl<(anonymous namespace)::MachineSizeOptsTest_Test_Test>::CreateTest()) MC is a direct dependency via transitive header inclusion: ld.lld: error: undefined symbol: llvm::MCTargetOptions::MCTargetOptions() >>> referenced by MachineSizeOptsTest.cpp >>> unittests/Target/X86/CMakeFiles/X86Tests.dir/MachineSizeOptsTest.cpp.o:((anonymous namespace)::MachineSizeOptsTest::SetUp())
-
Johannes Doerfert authored
With D69701, the options used when running the script on a file will be recorded and reused on a rerun. This allows us to hide new features behind flags, starting with the "define" that was introduced in D68819.
-
Hiroshi Yamauchi authored
Summary: This is to address comment on D69409. Reviewers: davidxl, thakis Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69568
-
Saleem Abdulrasool authored
This recovers the now "missing" flag as this is controlled by CMake rather than injected into the user defined flags list. This is primarily needed by LDC and other out-of-tree users which do not correctly setup the C++ flags.
-
Sanjay Patel authored
Avoid subsequent test noise from improved CHECK-LABEL matching.
-
Oliver Stannard authored
This is causing faults when an instruction which modifies SP is outlined, causing the PAC and AUT instructions to not match. This reverts commits 70caa1fc and 55314d32.
-
- Nov 01, 2019
-
-
Yitzhak Mandelbaum authored
Summary: Adds a constructor that takes a vector with which to initialize the `Parts` field and a corresponding free function that forwards to the constructor. These definitions are needed to assist in transitioning away from `Stencil` as a class to defining it as a type alias. Reviewers: ilya-biryukov Subscribers: cfe-commits, gribozavr Tags: #clang Differential Revision: https://reviews.llvm.org/D69632
-
JonChesterfield authored
Summary: [libomptarget] Implement target_impl for amdgcn Smallest atomic addition for a new target. Implements enough of the amdgcn specific code that some of the source files under nvptx/src could be compiled, without modification, to run on amdgcn. This foreshadows a work in progress patch to move said source out of nvptx/src. Patch based on fork at https://github.com/ROCm-Developer-Tools/llvm-project Reviewers: ABataev, jdoerfert, grokos, ronlieb Subscribers: jvesely, jfb, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D69718
-
Bjorn Pettersson authored
Summary: Make sure RAGreedy informs LiveDebugVariables about new VRegs that is introduced at spill by InlineSpiller. Consider this example LDV: !"var" [48r;128r):0 Loc0=%2 48B %2 = ... ... 128B %7 = ADD %2, ... If %2 is spilled the InlineSpiller will insert spill/reload instructions and introduces some new vregs. So we get 48B %4 = ... 56B spill %4 ... 120B reload %5 128B %3 = ADD %5, ... In the past we did not inform LDV about this, and when reintroducing DBG_VALUE instruction LDV still got information that "var" had the location of the spilled register %2 for the interval [48r;128r). The result was bad, since we mapped "var" to the spill slot even before the spill happened: %4 = ... DBG_VALUE %spill.0, !"var" spill %4 to %spill.0 ... reload %5 %3 = ADD %5, ... This patch will inform LDV about the interval split introduced due to spilling. So the location map in LDV will become !"var" [48r;56r):1 [56r;120r):0 [120r;128r):2 Loc0=%2 Loc1=%4 Loc2=%5 And when inserting DBG_VALUE instructions we get %4 = ... DBG_VALUE %4, !"var" spill %4 to %spill.0 DBG_VALUE %spill.0, !"var" ... reload %5 DBG_VALUE %5, !"var" %3 = ADD %5, ... Fixes: https://bugs.llvm.org/show_bug.cgi?id=38899 Reviewers: jmorse, vsk, aprantl Reviewed By: jmorse Subscribers: dstenb, wuzish, MatzeB, qcolombet, nemanjai, hiraditya, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69584
-
LLVM GN Syncbot authored
-
Anton Bikineev authored
Checks for types which can be made trivially-destructible by removing out-of-line defaulted destructor declarations. The check is motivated by the work on C++ garbage collector in Blink (rendering engine for Chrome), which strives to minimize destructors and improve runtime of sweeping phase. In the entire chromium codebase the check hits over 2000 times. Differential Revision: https://reviews.llvm.org/D69435
-
Momchil Velikov authored
Summary: It outputs nothing, but is useful for writing tests, checking asm output. Reviewers: t.p.northover, ostannard, tellenbach Reviewed By: tellenbach Subscribers: tellenbach, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69185 Change-Id: I6b58310e9e5632f0976d2000ce975ee28df90ebe
-
James Henderson authored
Previously this message had a double space in it.
-
Jeremy Morse authored
Example failure: http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/3255/testReport/junit/debuginfo-tests/dexter-tests/asan_c/ The tests themselves seem to be working, it's just unexplored paths within dexter that are flaking out.
-
Sven van Haastregt authored
Support for C++ mode was accidentally lacking due to not checking the OpenCLCPlusPlus LangOpts version. Differential Revision: https://reviews.llvm.org/D69233
-