summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [test] Fix test failureEli Friedman2019-10-141-8/+6
| | | | | | | | | | | | | | The version mismatch symbol is version 9 on 32 bit android. Since this test isn't actually testing any android specific functionality, we force the target triple to x86_64-unknown-unknown in order to have a consistent version number. It seems the test was already trying to do this, just not doing it right Patch by Christopher Tetrault Differential Revision: https://reviews.llvm.org/D68882 llvm-svn: 374836
* [Tests] Add a SCEV analysis test for llvm.widenable.conditionPhilip Reames2019-10-141-0/+45
| | | | | | Mostly because we don't appear to have one and a prototype patch I just saw would have broken the example committed. llvm-svn: 374835
* Add support to -Wa,-W in clangJian Cai2019-10-142-1/+15
| | | | | | | | | | | | | | | | | | | | Summary: Currently clang does not support -Wa,-W, which suppresses warning messages in GNU assembler. Add this option for gcc compatibility. https://bugs.llvm.org/show_bug.cgi?id=43651. Reland with differential information. Reviewers: bcain Reviewed By: bcain Subscribers: george.burgess.iv, gbiv, llozano, manojgupta, nickdesaulniers, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68884 llvm-svn: 374834
* Revert "Add support to -Wa,-W in clang"Jian Cai2019-10-142-15/+1
| | | | | | This reverts commit e72eeca43b9577be2aae55f7603febbf223a6ab3. llvm-svn: 374833
* [ARM][AsmParser] handles offset expression in parenthesesJian Cai2019-10-142-5/+27
| | | | | | | | | | | | | | | Summary: Integrated assembler does not accept offset expressions surrounded by parenthesis. Handle this case for GAS compability. https://bugs.llvm.org/show_bug.cgi?id=43631 Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68764 llvm-svn: 374832
* DebugInfo: Remove unnecessary/mistaken inclusion of Bitcode/BitcodeAnalyzer.hDavid Blaikie2019-10-142-4/+0
| | | | | | | | | | | | | | | | Introduced in r374582, Michael Spencer pointed out this broke the modules build due to a missing tblgen dependency on llvm/IR/Attributes.inc. Michael fixed the dependency in r374827. So this removes the inclusion and the new dependency (effectively reverting r374827 and including the alternative fix of removing rather than supporting the new dependency). Thanks for the quick fix/notice, Michael! llvm-svn: 374831
* [update_mir_test_checks] Handle MI flags properlyRoman Tereshin2019-10-1417-189/+192
| | | | | | | | | | | | | | previously we would generate literal check lines w/ no reg-exps for vregs as MI flags (nsw, ninf, etc.) won't be recognized as a part of MI. Fixing that. Includes updating the MIR tests that suffered from the problem. Reviewed By: bogner Differential Revision: https://reviews.llvm.org/D68905 llvm-svn: 374829
* [InstCombine] fold a shifted bool zext to a selectSanjay Patel2019-10-143-8/+10
| | | | | | | | | | | | | | | For a constant shift amount, add the following fold. shl (zext (i1 X)), ShAmt --> select (X, 1 << ShAmt, 0) https://rise4fun.com/Alive/IZ9 Fixes PR42257. Based on original patch by @zvi (Zvi Rackover) Differential Revision: https://reviews.llvm.org/D63382 llvm-svn: 374828
* [Modules Build] Add missing dependency.Michael J. Spencer2019-10-141-0/+3
| | | | | | A previous commit made libLLVMDebugInfoDWARF depend on the LLVM_Bitcode module which depends on the LLVM_intrinsic_gen module which depends on "llvm/IR/Attributes.inc" which is a generated header not depended on by libLLVMDebugInfo. Add that dependency. llvm-svn: 374827
* PR43080: Do not build context-sensitive expressions during name classification.Richard Smith2019-10-1414-178/+417
| | | | | | | | | | | | | | | | | | | | | | | Summary: We don't know what context to use until the classification result is consumed by the parser, which could happen in a different semantic context. So don't build the expression that results from name classification until we get to that point and can handle it properly. This covers everything except C++ implicit class member access, which is a little awkward to handle properly in the face of the protected member access check. But it at least fixes all the currently-filed instances of PR43080. Reviewers: efriedma Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68896 llvm-svn: 374826
* build fix for SBInstruction.Lawrence D'Anna2019-10-143-2/+4
| | | | | | | | | | | | | | oops! I cherry-picked rL374820 thinking it was completely independent of D68737, but it wasn't. It makes an incidental use of SBFile::GetFile, which is introduced there, so I broke the build. The docs say you can commit without review for "obvious". I think this qualifies. If this kind of fix isn't considered obvious, let me know and I'll revert instead. Fixes: rL374820 llvm-svn: 374825
* [lit] Create Run object later and only when it is neededJulian Lettner2019-10-141-30/+31
| | | | | | | | Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68843 llvm-svn: 374823
* Add support to -Wa,-W in clangJian Cai2019-10-142-1/+15
| | | | | | | | Currently clang does not support -Wa,-W, which suppresses warning messages in GNU assembler. Add this option for gcc compatibility. https://bugs.llvm.org/show_bug.cgi?id=43651 llvm-svn: 374822
* [NFC] Fix ClangScanDeps/static-analyzer.c test on WindowsJan Korous2019-10-141-3/+3
| | | | | | Follow-up to c5d14b5c6fa llvm-svn: 374821
* remove FILE* bindings from SBInstruction.Lawrence D'Anna2019-10-149-21/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch replaces the FILE* python bindings for SBInstruction and SBInstructionList and replaces them with the new, safe SBFile and FileSP bindings. I also re-enable `Test_Disassemble_VST1_64`, because now we can use the file bindings as an additional test of the disassembler, and we can use the disassembler test as a test of the file bindings. The bugs referred to in the comments appear to have been fixed. The radar is closed now and the bugzilla bug does not reproduce with the instructions given. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68890 llvm-svn: 374820
* [OPNEMP]Allow num_tasks clause in combined task-based directives.Alexey Bataev2019-10-149-22/+49
| | | | | | | The expression of the num_tasks clause must be captured in the combined task-based directives, like 'parallel master taskloop' directive. llvm-svn: 374819
* [InstCombine] add tests for select/shift transforms; NFCSanjay Patel2019-10-142-0/+59
| | | | | | A transform proposal for the shift form is in D63382. llvm-svn: 374818
* uint32_t options -> File::OpenOptions optionsLawrence D'Anna2019-10-1424-73/+111
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch re-types everywhere that passes a File::OpenOptions as a uint32_t so it actually uses File::OpenOptions. It also converts some OpenOptions related functions that fail by returning 0 or NULL into llvm::Expected split off from https://reviews.llvm.org/D68737 Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68853 llvm-svn: 374817
* remove FILE* usage from ReportEventState() and HandleProcessEvent()Lawrence D'Anna2019-10-149-21/+93
| | | | | | | | | | | | | | | | | | | Summary: This patch adds FileSP and SBFile versions of the API methods ReportEventState and HandleProcessEvent. It points the SWIG wrappers at these instead of the ones that use FILE* streams. Reviewers: JDevlieghere, jasonmolenda, labath, jingham Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68546 llvm-svn: 374816
* [clang-scan-deps] Support for clang --analyze in clang-scan-depsJan Korous2019-10-1410-9/+48
| | | | | | | | | | | | | | | The goal is to have 100% fidelity in clang-scan-deps behavior when --analyze is present in compilation command. At the same time I don't want to break clang-tidy which expects __static_analyzer__ macro defined as built-in. I introduce new cc1 options (-setup-static-analyzer) that controls the macro definition and is conditionally set in driver. Differential Revision: https://reviews.llvm.org/D68093 llvm-svn: 374815
* [lit] Extend internal diff to support -UJoel E. Denny2019-10-146-6/+142
| | | | | | | | | | | | | | | | | | | | | | When using lit's internal shell, RUN lines like the following accidentally execute an external `diff` instead of lit's internal `diff`: ``` # RUN: program | diff -U1 file - ``` Such cases exist now, in `clang/test/Analysis` for example. We are preparing patches to ensure lit's internal `diff` is called in such cases, which will then fail because lit's internal `diff` doesn't recognize `-U` as a command-line option. This patch adds `-U` support. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68668 llvm-svn: 374814
* [Tests] Add a test demonstrating a miscompile in the off-by-default ↵Philip Reames2019-10-141-0/+75
| | | | | | | | | | loop-pred transform Credit goes to Evgeny Brevnov for figuring out the problematic case. Fuzzing probably also found it (lots of failures), but due to some silly infrastructure problems I hadn't gotten to the results before Evgeny hand reduced it from a benchmark. llvm-svn: 374812
* [LoopIdiom] BCmp: loop exit count must not be wider than size_t that `bcmp` ↵Roman Lebedev2019-10-142-0/+65
| | | | | | | | | | | | takes As reported by Joerg Sonnenberger in IRC, for 32-bit systems, where pointer and size_t are 32-bit, if you use 64-bit-wide variable in the loop, you could end up with loop exit count being of the type wider than the size_t. Now, i'm not sure if we can produce `bcmp` from that (just truncate?), but we certainly should not assert/miscompile. llvm-svn: 374811
* [OPNEMP]Allow grainsize clause in combined task-based directives.Alexey Bataev2019-10-148-22/+129
| | | | | | | The expression of the grainsize clause must be captured in the combined task-based directives, like 'parallel master taskloop' directive. llvm-svn: 374810
* [ASan] Fix IRTests/InstructionsTest.UnaryOperatorCameron McInally2019-10-141-0/+1
| | | | | | Fix ASan regression from r374782. llvm-svn: 374808
* [Tests] Add a few more tests for idioms with FP induction variablesPhilip Reames2019-10-141-0/+231
| | | | llvm-svn: 374807
* [libc++][test] Portability fix for std::any testsCasey Carter2019-10-141-2/+2
| | | | | | Ensure that `large_tracked_t` defined in `any_helpers.h` is in fact too large to fit in `std::any`'s small object buffer. llvm-svn: 374806
* [clang][IFS][test] Fixing lit test breakages on macOS due to r374798Puyan Lotfi2019-10-142-3/+3
| | | | | | | Adding the quotes breaks tests because on Darwin the name mangling is prefixed with an underscore. llvm-svn: 374805
* Fix test breakage caused by r374424Lawrence D'Anna2019-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The build directory name is based on the test method name, so having two test methods with the same name in the same test file is a problem, even if they're in different test classes. On linux and darwin this conflict can go unnoticed, but windows has different filesystem semantics and it will fail when one process tries to delete files still held open by another. The problem is fixed just by changing the name of one of the test methods. Reviewers: JDevlieghere, jasonmolenda, labath, stella.stamenova Reviewed By: stella.stamenova Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68951 llvm-svn: 374803
* [ThinLTO] Fix printing of NoInline function summary flagTeresa Johnson2019-10-142-3/+3
| | | | | | | | | | | | | | | | Summary: The guard for printing function flags in the summary was not checking the NoInline flag. Reviewers: wmi Subscribers: mehdi_amini, inglorion, hiraditya, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68948 llvm-svn: 374802
* AMDGPU: Fix redundant setting of m0 for atomic load/storeMatt Arsenault2019-10-141-10/+7
| | | | | | | Atomic load/store would have their setting of m0 handled twice, which happened to be optimized out later. llvm-svn: 374801
* AMDGPU: Remove unnecessary IR from testMatt Arsenault2019-10-141-63/+9
| | | | llvm-svn: 374800
* [clangd] Improve semantic highlighting in dependent contexts (fixes #154)Nathan Ridge2019-10-144-5/+119
| | | | | | | | | | | | Reviewers: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67901 llvm-svn: 374799
* [clang][IFS] Escape mangled names so MS ABI doesn't break YAML parsing.Puyan Lotfi2019-10-144-5/+12
| | | | | | | | | | | Microsoft's ABI mangles names differently than Itanium and this breaks the LLVM yaml parser unless the name is escaped in quotes. Quotes are being added to the mangled names of the IFS file generation so that llvm-ifs doesn't break when Windows triples are passed to the driver. Differential Revision: https://reviews.llvm.org/D68915 llvm-svn: 374798
* [libc++][test] Add license headers to test/support/archetypes.*Casey Carter2019-10-142-0/+15
| | | | | | Differential Revision: https://reviews.llvm.org/D68947 llvm-svn: 374797
* Fix copy-pasto in r374759Hans Wennborg2019-10-141-8/+8
| | | | llvm-svn: 374796
* [llvm-objdump] Adjust spacing and field width for --section-headersJordan Rupprecht2019-10-146-36/+209
| | | | | | | | | | | | | | | | | | | Summary: - Expand the "Name" column past 13 characters when any of the section names are longer. Current behavior is a staggard output instead of a nice table if a single name is longer. - Only print the required number of hex chars for addresses (i.e. 8 characters for 32-bit, 16 characters for 64-bit) - Fix trailing spaces Reviewers: grimar, jhenderson, espindola Reviewed By: grimar Subscribers: emaste, sbc100, arichardson, aheejin, seiya, llvm-commits, MaskRay Tags: #llvm Differential Revision: https://reviews.llvm.org/D68730 llvm-svn: 374795
* Add FMF to vector ops for phiMichael Berg2019-10-142-1/+22
| | | | | | | | | | | | | | Summary: Small amendment to handle vector cases for D67564. Reviewers: spatel, eli.friedman, hfinkel, cameron.mcinally, arsenm, jmolloy, bogner Reviewed By: cameron.mcinally, bogner Subscribers: llvm-commits, efriedma, reames, bogner, wdng Differential Revision: https://reviews.llvm.org/D68748 llvm-svn: 374794
* Reapply: [llvm-size] Tidy up error messages (PR42970)Jordan Rupprecht2019-10-144-32/+28
| | | | | | | | | | | | Clean up some formatting inconsistencies in the error messages and correctly exit with non-zero in all error cases. Originally submitted as r374771 and then reverted as r374780, this patch fixes the libObject test case in Object/macho-invalid.test. Patch by Alex Cameron Differential Revision: https://reviews.llvm.org/D68906 llvm-svn: 374793
* [llvm-profdata] Weaken "malformed-ptr-to-counter-array.test" to appease arm botsVedant Kumar2019-10-141-3/+1
| | | | | | | | | | | | | | There are a number arm bots failing after r374617 landed, and I'm not sure why. It looks a bit like the error message llvm-profdata is expected to print to stderr isn't flushed. Weaken the test in an attempt to appease the arm bots: if this doesn't work, that means that llvm-profdata is actually *not failing*, and that will be a clear indication that some logic error is actually happening. http://lab.llvm.org:8011/builders/clang-cmake-armv7-global-isel/builds/5604/ llvm-svn: 374792
* [OPENMP50]Add support for 'parallel master taskloop' construct.Alexey Bataev2019-10-1441-18/+5305
| | | | | | | | | Added parsing/sema/codegen support for 'parallel master taskloop' constructs. Some of the clauses, like 'grainsize', 'num_tasks', 'final' and 'priority' are not supported in full, only constant expressions can be used currently in these clauses. llvm-svn: 374791
* [NVPTX] Restructure shfl instrinsics and add variants that return a predicate.Artem Belevich2019-10-145-195/+456
| | | | | | | | | Also, amend constraints for non-sync variants that are no longer available on sm_70+ with PTX6.4+. Differential Revision: https://reviews.llvm.org/D68892 llvm-svn: 374790
* BitsInit::resolveReferences - silence static analyzer null dereference ↵Simon Pilgrim2019-10-141-1/+1
| | | | | | | | warning. NFCI. The static analyzer is warning about a potential null dereference, assert to check that the loop has set the cached pointer. llvm-svn: 374789
* XCOFFObjectWriter - silence static analyzer dyn_cast<> null dereference ↵Simon Pilgrim2019-10-141-1/+1
| | | | | | | | warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us. llvm-svn: 374788
* [OPENMP]Fix codegen for private variably length vars in combinedAlexey Bataev2019-10-144-18/+48
| | | | | | | | | | | constructs. If OpenMP construct includes several capturing regions and the variable is declared as private, the length of the inner variable length array is not captured in outer captured regions, only in the innermost region. Patch fixes this bug. llvm-svn: 374787
* [CostModel][X86] Add CTLZ scalar costsSimon Pilgrim2019-10-143-174/+246
| | | | | | | | Add specific scalar costs for CTLZ instructions, we can't discriminate between CTLZ and CTLZ_ZERO_UNDEF so we have to assume the worst. Given how BSR is often a microcoded nightmare on some older targets we might still be underestimating it. For targets supporting LZCNT (Intel Haswell+ or AMD Fam10+), we provide overrides that assume 1cy costs. llvm-svn: 374786
* [ARM] Preserve fpu behaviour for '-crypto'Diogo N. Sampaio2019-10-142-18/+42
| | | | | | | | | | | | | | | | | | | | | Summary: This patch restores the behaviour that -fpu overwrites the architecture obtained from -march or -mcpu flags, not enforcing to disable 'crypto' if march=armv7 and mfpu=neon-fp-armv8. However, it does warn that 'crypto' is ignored when passing mfpu=crypto-neon-fp-armv8. Reviewers: peter.smith, labrinea Reviewed By: peter.smith Subscribers: nickdesaulniers, kristof.beyls, dmgreen, cfe-commits, krisb Tags: #clang Differential Revision: https://reviews.llvm.org/D67608 llvm-svn: 374785
* Reapply r374743 with a fix for the ocaml bindingJoerg Sonnenberger2019-10-1439-457/+402
| | | | | | | | | | | | | | | | | | | Add a pass to lower is.constant and objectsize intrinsics This pass lowers is.constant and objectsize intrinsics not simplified by earlier constant folding, i.e. if the object given is not constant or if not using the optimized pass chain. The result is recursively simplified and constant conditionals are pruned, so that dead blocks are removed even for -O0. This allows inline asm blocks with operand constraints to work all the time. The new pass replaces the existing lowering in the codegen-prepare pass and fallbacks in SDAG/GlobalISEL and FastISel. The latter now assert on the intrinsics. Differential Revision: https://reviews.llvm.org/D65280 llvm-svn: 374784
* [x86] adjust select to sra tests; NFCSanjay Patel2019-10-141-16/+12
| | | | | | | Avoid demanded-bits-based specializations (that may not be ideal, but that's another problem). llvm-svn: 374783
* [IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperatorCameron McInally2019-10-1429-425/+440
| | | | | | | | Reapply r374240 with fix for Ocaml test, namely Bindings/OCaml/core.ml. Differential Revision: https://reviews.llvm.org/D61675 llvm-svn: 374782
OpenPOWER on IntegriCloud