summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [llvm-readobj] Change "SHT_MIPS_DWARF" to "MIPS_DWARF"Fangrui Song2019-02-211-2/+2
| | | | | | | | | | | | | | | | | | | | Summary: This is to be consistent with the display of other MIPS section types. This string is also used by binutils-gdb/binutils/readelf.c:get_mips_section_type_name Since we are here, reorder the two enum constatns because SHT_MIPS_DWARF < SHT_MIPS_ABIFLAGS. Reviewers: jhenderson, atanasyan Reviewed By: jhenderson Subscribers: aprantl, sdardis, arichardson, rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58496 llvm-svn: 354571
* [CodeComplete] Collect visited contexts when scope specifier is invalid.Eric Liu2019-02-212-4/+21
| | | | | | | | | | | | | | | | | Summary: This will allow completion consumers to guess the specified scope by putting together scopes in the context with the specified scope (e.g. when the specified namespace is not imported yet). Reviewers: ilya-biryukov Subscribers: jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58446 llvm-svn: 354570
* Revert 354564: [ARM] Add some missing thumb1 opcodes to enable peephole ↵David Green2019-02-213-281/+14
| | | | | | | | | optimisation of CMPs I believe it's causing bootstrap failures for A32 code. I'll take a look at what's wrong. llvm-svn: 354569
* [OpenCL] Simplify LLVM IR generated for OpenCL blocksAndrew Savonichev2019-02-215-64/+91
| | | | | | | | | | | | | | | | | | | Summary: Emit direct call of block invoke functions when possible, i.e. in case the block is not passed as a function argument. Also doing some refactoring of `CodeGenFunction::EmitBlockCallExpr()` Reviewers: Anastasia, yaxunl, svenvh Reviewed By: Anastasia Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58388 llvm-svn: 354568
* [llvm-readobj]Test basic command-line handlingJames Henderson2019-02-211-0/+36
| | | | | | | | | | | | There was no real testing for llvm-readobj/llvm-readelf's behaviour under various bad inputs and command-line switches. This patch adds some testing of this, along with basic testing of --version and --help. Reviewed by: MaskRay, grimar Differential Revision: https://reviews.llvm.org/D58455 llvm-svn: 354567
* [yaml2obj]Allow symbol Index field to take values lower than SHN_LORESERVEJames Henderson2019-02-212-25/+31
| | | | | | | | | | | | | | | | | | | | In order to test tool handling of invalid section indexes, I need to create an object containing such an invalid section index. I could create a hex-edited binary, but having the ability to use yaml2obj is preferable. Prior to this change, yaml2obj would reject any explicit section indexes less than SHN_LORESERVE. This patch changes it to allow any value. I had to change the test to use llvm-readelf instead of llvm-readobj, because llvm-readobj does not like invalid section indexes. I've also expanded the test to show that the most common SHN_* values are accepted (SHN_UNDEF, SHN_ABS, SHN_COMMON). Reviewed by: grimar, jakehehrlich Differential Revision: https://reviews.llvm.org/D58445 llvm-svn: 354566
* [AArch64] Print instruction before atomic semantic annotationsDavid Spickett2019-02-211-5/+6
| | | | | | | | | | | | | | | | | Commit r353303 added annotations when acquire semantics were dropped from an instruction. printAnnotation was called before printInstruction. So if you didn't set a separate comment output stream you got <comment><instr> instead of <instr><comment> as expected. To fix this move the new printAnnotation to after the instruction is printed. Differential Revision: https://reviews.llvm.org/D58059 llvm-svn: 354565
* [ARM] Add some missing thumb1 opcodes to enable peephole optimisation of CMPsDavid Green2019-02-213-14/+281
| | | | | | | | | This adds a number of missing Thumb1 opcodes so that the peephole optimiser can remove redundant CMP instructions. Differential Revision: https://reviews.llvm.org/D57833 llvm-svn: 354564
* [ObjectYAML] Support SHT_MIPS_DWARF section type flagFangrui Song2019-02-212-1/+2
| | | | | | | Also reorder SHT_MIPS_DWARF and SHT_MIPS_ABIFLAGS in Object/ELF.cpp. The test will be added by D58457. llvm-svn: 354563
* [NFC] Replace EOL in test fileMax Kazantsev2019-02-211-41/+41
| | | | llvm-svn: 354562
* [clangd] Enable indexing of template type parametersKadir Cetinkaya2019-02-213-6/+13
| | | | | | | | | | | | | | Summary: Fixes https://bugs.llvm.org/show_bug.cgi?id=36285 Reviewers: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58294 llvm-svn: 354561
* [clang][Index] Enable indexing of Template Type Parameters behind a flagKadir Cetinkaya2019-02-217-4/+44
| | | | | | | | | | | | | | | | | Summary: clangd uses indexing api to provide references and it was not possible to perform symbol information for template parameters. This patch enables visiting of TemplateTypeParmTypeLocs. Reviewers: ilya-biryukov, akyrtzi Subscribers: javed.absar, kristof.beyls, ioeric, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58293 llvm-svn: 354560
* [TEST] Add failing test that shows problems with MSSA update in LoopSimplifyCFGMax Kazantsev2019-02-211-0/+41
| | | | llvm-svn: 354559
* [clangd] Handle another incomplete-type diagnostic case in IncludeFixer.Eric Liu2019-02-212-0/+6
| | | | llvm-svn: 354558
* [ARM] Negative constants mishandled in ARM CGPSam Parker2019-02-212-5/+22
| | | | | | | | | | | | | During type promotion, sometimes we convert negative an add with a negative constant into a sub with a positive constant. The loop that performs this transformation has two issues: - it iterates over a set, causing non-determinism. - it breaks, instead of continuing, when it finds the first non-negative operand. Differential Revision: https://reviews.llvm.org/D58452 llvm-svn: 354557
* testsuite: Fix TestCompDirSymLink and TestSourceManager on Linux with ↵Jan Kratochvil2019-02-212-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | symlinked build dir Getting failure when building in a directory which is symlinked elsewhere: Failing Tests (1): lldb-Suite :: functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py lldb-Suite :: source-manager/TestSourceManager.py For TestCompDirSymLink: ------------------------------------------------------------------------------ runCmd: file .../lldb-test-build.noindex/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.test_symlink_paths_set_procselfcwd_dwarf/CompDirSymLink output: Current executable set to '.../lldb-test-build.noindex/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.test_symlink_paths_set_procselfcwd_dwarf/CompDirSymLink' (x86_64). runCmd: settings set plugin.symbol-file.dwarf.comp-dir-symlink-paths /proc/self/cwd output: None runCmd: breakpoint set -f ".../lldb-test-build.noindex/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.test_symlink_paths_set_procselfcwd_dwarf/relative.cpp" -l 11 output: Breakpoint 1: no locations (pending). WARNING: Unable to resolve breakpoint to any actual locations. It is because /proc/self/cwd (used above for plugin.symbol-file.dwarf.comp-dir-symlink-paths) points to an already resolved directory: (cd /tmp;mkdir real;ln -s real symlink;cd symlink;ls -l /proc/self/cwd) lrwxrwxrwx 1 jkratoch jkratoch 0 Feb 20 19:55 /proc/self/cwd -> /tmp/real/ ------------------------------------------------------------------------------ For TestSourceManager the resolving is done by 'make -C' as found by Pavel Labath. Differential Revision: https://reviews.llvm.org/D58465 llvm-svn: 354556
* [OpenMP][OMPT] Fix locking testcases for 32 bit architecturesJoachim Protze2019-02-213-2/+3
| | | | | | | | | | | Fix for the bug reported in: https://bugs.llvm.org/show_bug.cgi?id=40531 The address is now casted the same way as in the runtime code. Differential Revision: https://reviews.llvm.org/D58454 llvm-svn: 354553
* [DebugInfo] Prep llvm-dwarfdump for typed DW5 ops.Markus Lavin2019-02-218-19/+195
| | | | | | | | | | | Adds llvm-dwarfdump support for pretty printing Dwarf5 expressions ops that reference a base type (right now only DW_OP_convert is added). Includes verification to verify that the ops operand is actually a DW_TAG_base_type DIE. Differential Revision: https://reviews.llvm.org/D58442 llvm-svn: 354552
* Fix file header issues in fuzzers. NFCFangrui Song2019-02-217-7/+7
| | | | llvm-svn: 354551
* Fix some include order and file headers issues. NFCFangrui Song2019-02-217-8/+8
| | | | llvm-svn: 354550
* Revert r354546Serge Guelton2019-02-211-6/+7
| | | | | | This triggers an ICE on gcc 7, see http://lab.llvm.org:8011/builders/clang-cmake-aarch64-quick/builds/17598/steps/build%20stage%201/logs/stdio llvm-svn: 354549
* Fix typo in r354546Serge Guelton2019-02-211-3/+1
| | | | llvm-svn: 354548
* [LoopSimplifyCFG] Add missing MSSA edge deletionMax Kazantsev2019-02-212-0/+40
| | | | | | | | When we create fictive switch in preheader, we should take care about MSSA and delete edge between old preheader and header. llvm-svn: 354547
* [NFC] Always initialize all members in ABIArgInfoSerge Guelton2019-02-211-8/+9
| | | | | | Differential Revision: https://reviews.llvm.org/D57523 llvm-svn: 354546
* Attempt to fix VS2015 build breakage from r354517. NFCI.Douglas Yung2019-02-211-1/+1
| | | | llvm-svn: 354545
* [WebAssembly] Default to something reasonable in WebAssemblyAddMissingPrototypesSam Clegg2019-02-212-7/+16
| | | | | | | | | | | | | | | | | | Previously if we couldn't derive a prototype for a "no-prototype" function from C we would leave it as is: void foo(...) With this change we instead give is an empty signature and remove the "no-prototype" attribute. This fixes the current wasm waterfall test failure. Tags: #llvm Differential Revision: https://reviews.llvm.org/D58488 llvm-svn: 354544
* [AMDGPU] fix commuted case of sub combineStanislav Mekhanoshin2019-02-212-5/+29
| | | | | | Differential Revision: https://reviews.llvm.org/D58481 llvm-svn: 354543
* [Inliner] Pass nullptr for the ORE param of getInlineCost if RemarkEnabledWei Mi2019-02-212-3/+10
| | | | | | | | | | | | | | | | | | | is false. Right now for inliner and partial inliner, we always pass the address of a valid ORE object to getInlineCost even if RemarkEnabled is false because of no -Rpass is specified. Since ComputeFullInlineCost will be set to true if ORE is non-null in getInlineCost, this introduces the problem that in getInlineCost we cannot return early even if we already know the cost is definitely higher than the threshold. It is a general problem for compile time. This patch fixes that by pass nullptr as the ORE argument if RemarkEnabled is false. Differential Revision: https://reviews.llvm.org/D58399 llvm-svn: 354542
* Add skipFunction to PostRA machine sinking pass.Xin Tong2019-02-212-0/+43
| | | | | | | | | | | | | | Summary: Add skipFunction to PostRA machine sinking pass. Reviewers: junbuml Subscribers: arsenm, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57847 llvm-svn: 354541
* Revert "[lldb-mi] Move TestMIPrompt away from pexpect()."Davide Italiano2019-02-212-17/+58
| | | | | | | I see a test failing on the macOS bots. I can't reproduce locally, so try to get the bots green before I can investigate. llvm-svn: 354540
* [WebAssembly] Remove redundant code added in rL354538. NFC.Sam Clegg2019-02-211-36/+4
| | | | | | | | | The code for encoding the symbols signature into its name was not actually being used in the final version of this change. Differential Revision: https://reviews.llvm.org/D58482 llvm-svn: 354539
* [AArch64] Change size suffix for FP16FML intrinsics.Ahmed Bougacha2019-02-212-86/+86
| | | | | | | | | | These currently use _u32, but they should instead use _f16, the types of the multiplication (matching the various integer vmlal variants). Differential Revision: https://reviews.llvm.org/D58306 llvm-svn: 354538
* [NFC] Fix incorrect comment in std::function testLouis Dionne2019-02-211-1/+1
| | | | llvm-svn: 354537
* [libFuzzer] fix the docsKostya Serebryany2019-02-211-0/+1
| | | | llvm-svn: 354536
* Fix unused variable warning.Richard Trieu2019-02-211-2/+2
| | | | llvm-svn: 354535
* [clang-tidy] Make google-objc-function-naming ignore implicit functions 🙈Stephane Moore2019-02-213-4/+34
| | | | | | | | | | | | | | | | | | | | | | Summary: Implicit functions are outside the control of source authors and should be exempt from style restrictions. Tested via running clang tools tests. This is an amended followup to https://reviews.llvm.org/D57207 Reviewers: aaron.ballman Reviewed By: aaron.ballman Subscribers: jdoerfert, xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58095 llvm-svn: 354534
* [libFuzzer] document -fork=NKostya Serebryany2019-02-211-0/+22
| | | | llvm-svn: 354533
* Revert "[AArch64][GlobalISel] Implement partial support for G_SHUFFLE_VECTOR"Amara Emerson2019-02-215-359/+1
| | | | | | This reverts r354521 because it broke the bots, but passes on Darwin somehow. llvm-svn: 354532
* [attributes] Fix buildbot after r354530.Artem Dergachev2019-02-211-1/+1
| | | | | | | | Update the test after adding more attribute subjects. Differential Revision: https://reviews.llvm.org/D58365 llvm-svn: 354531
* [attributes] Add an attribute for server routines in Mach kernel and extensions.Artem Dergachev2019-02-218-0/+132
| | | | | | | | | | | | The new __attribute__ ((mig_server_routine)) is going to be used for annotating Mach Interface Generator (MIG) callback functions as such, so that additional static analysis could be applied to their implementations. It can also be applied to regular functions behavior of which is supposed to be identical to that of a MIG server routine. Differential Revision: https://reviews.llvm.org/D58365 llvm-svn: 354530
* [GlobalISel] Add -O0 to some tests to see if it fixes them. I can't ↵Amara Emerson2019-02-202-2/+2
| | | | | | | | | | reproduce the failures locally, and greendragon also passes, but some other bots fail for reasons I don't understand. The only difference I can see between these tests is it's missing an -O0 If this doesn't work I'll revert and continue investigating. llvm-svn: 354529
* [WebAssembly] Don't generate invalid modules when function signatures mismatchSam Clegg2019-02-2010-87/+372
| | | | | | | | | | | | Previously we could emit a warning and generate a potentially invalid wasm module (due to call sites and functions having conflicting signatures). Now, rather than create invalid binaries we handle such cases by creating stub functions containing unreachable, effectively turning these into runtime errors rather than validation failures. Differential Revision: https://reviews.llvm.org/D57909 llvm-svn: 354528
* [clang] Add CMake target for installing clang's CMake exportsShoaib Meenai2019-02-201-2/+11
| | | | | | | | This mirrors LLVM's install-cmake-exports target. Differential Revision: https://reviews.llvm.org/D58480 llvm-svn: 354527
* Merge target triple into module triple when constructing module from memoryAlex Langford2019-02-201-0/+4
| | | | | | | | | | | | | | | | | | | Summary: While debugging an android process remotely from a windows machine, I noticed that the modules constructed from an object file in memory only had information about the architecture. Without knowledge of the OS or environment, expression evaluation sometimes leads to incorrectly generated code or a debugger crash. While we cannot know for certain what triple a module constructed from an in-memory object file will have, we can use the triple from the target to try and fill in the missing details. Reviewers: clayborg, zturner, JDevlieghere, compnerd, aprantl, labath Subscribers: jdoerfert, lldb-commits Differential Revision: https://reviews.llvm.org/D58405 llvm-svn: 354526
* [clang] Switch to LLVM_ENABLE_IDEShoaib Meenai2019-02-206-9/+9
| | | | | | | | | | | | r344555 switched LLVM to guarding install targets with LLVM_ENABLE_IDE instead of CMAKE_CONFIGURATION_TYPES, which expresses the intent more directly and can be overridden by a user. Make the corresponding change in clang. LLVM_ENABLE_IDE is computed by HandleLLVMOptions, so it should be available for both standalone and integrated builds. Differential Revision: https://reviews.llvm.org/D58284 llvm-svn: 354525
* [CMake][runtimes] Set clang-header dependency for builtinsPetr Hosek2019-02-201-16/+22
| | | | | | | | | | | | compiler-rt builtins depend on clang headers, but that dependency wasn't explicitly stated in the build system and we were relying on the transitive depenendecy via clang. However, when we're cross-compiling clang, we'll be using host compiler instead and that depenendecy is missing, breaking the build. Differential Revision: https://reviews.llvm.org/D58471 llvm-svn: 354524
* [WebAssembly] Don't error on conflicting uses of prototype-less functionsSam Clegg2019-02-202-6/+30
| | | | | | | | | | | | | | | | When we can't determine with certainty the signature of a function import we pick the fist signature we find rather than error'ing out. The resulting program might not do what is expected since we might pick the wrong signature. However since undefined behavior in C to use the same function with different signatures this seems better than refusing to compile such programs. Fixes PR40472 Differential Revision: https://reviews.llvm.org/D58304 llvm-svn: 354523
* [LSan] Fix `__sanitizer_print_stack_trace` via fast unwinderJulian Lettner2019-02-204-6/+4
| | | | | | | | | | Summary: Quick follow-up to: https://reviews.llvm.org/D58156 Reviewers: vitalybuka Differential Revision: https://reviews.llvm.org/D58358 llvm-svn: 354522
* [AArch64][GlobalISel] Implement partial support for G_SHUFFLE_VECTORAmara Emerson2019-02-205-1/+359
| | | | | | | | | | | | | | This change makes some basic type combinations for G_SHUFFLE_VECTOR legal, and implements them with a very pessimistic TBL2 instruction in the selector. For TBL2, support is also needed to generate constant pool entries and load from them in order to materialize the mask register. Currently supports <2 x s64> and <4 x s32> result types. Differential Revision: https://reviews.llvm.org/D58466 llvm-svn: 354521
* [X86] Add test cases to show missed opportunities to remove AND mask from ↵Craig Topper2019-02-201-0/+187
| | | | | | | | | | BTC/BTS/BTR instructions when LHS of AND has known zeros. We can currently remove the mask if the immediate has all ones in the LSBs, but if the LHS of the AND is known zero, then the immediate might have had bits removed. A similar issue also occurs with shifts and rotates. I'm preparing a common fix for all of them. llvm-svn: 354520
OpenPOWER on IntegriCloud