summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Remove tests for -x86-experimental-vector-widening-legalization from ↵Craig Topper2019-08-0618-8109/+0
| | | | | | | | | test/Analysis/CostModel/X86/ This flag is now the default behavior so we don't need separate tests. llvm-svn: 368080
* [X86] Remove uses of the -x86-experimental-vector-widening-legalization flag ↵Craig Topper2019-08-0640-64067/+139
| | | | | | | | | | | | from test/CodeGen/X86/ This flag is now the default behavior so we no longer need to set it in tests. Some redundant tests have been removed after verifying we have an equivalent test that didn't use the flag. llvm-svn: 368079
* [WebAssembly] Fix null pointer in createInitTLSFunctionGuanzhong Chen2019-08-062-176/+186
| | | | | | | | | | | | | | | | | | | | | Summary: `createSyntheticSymbols`, which creates `WasmSym::InitTLS`, is only called when `!config->relocatable`, but this condition is not checked when calling `createInitTLSFunction`. This diff checks `!config->relocatable` before calling `createInitTLSFunction`. Fixes https://github.com/emscripten-core/emscripten/issues/9155. Reviewers: tlively, aheejin, kripken, sbc100 Subscribers: dschuff, jgravelle-google, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65785 llvm-svn: 368078
* [libc++] Use the monorepo for the back-deployment testing scriptsLouis Dionne2019-08-062-59/+27
| | | | llvm-svn: 368077
* [Attributor][modulemap] Revert r368064 but fix the buildKristina Brooks2019-08-063-20/+22
| | | | | | | | | | | | | | | | Commit r368064 was necessary after r367953 (D65712) broke the module build. That happened, apparently, because the template class IRAttribute defined in the header had a virtual method defined in the corresponding source file (IRAttribute::manifest). To unbreak the situation this patch introduces a helper function IRAttributeManifest::manifestAttrs which is used to implement IRAttribute::manifest in the header. The deifnition of the helper function is still in the source file. Patch by jdoerfert (Johannes Doerfert) Differential Revision: https://reviews.llvm.org/D65821 llvm-svn: 368076
* [SymbolFile] Remove commented out methodAlex Langford2019-08-062-204/+0
| | | | llvm-svn: 368075
* Add order-dependencies to object librariesChris Bieneman2019-08-061-0/+3
| | | | | | | | | | | | | | | | Summary: If you are generating an object library that depends on table-gen generate sources, you need the object library to depend on the tablgen target. Currently llvm_add_library doesn't add dependencies for object libraries at all, which is clearly problematic. Reviewers: compnerd, hintonda, smeenai Reviewed By: smeenai Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65818 llvm-svn: 368074
* Revert "Added Delta IR Reduction Tool"Dmitri Gribenko2019-08-0613-778/+0
| | | | | | This reverts commit r368071, it broke buildbots. llvm-svn: 368073
* Teach some warnings to respect gsl::Pointer and gsl::Owner attributesGabor Horvath2019-08-063-9/+233
| | | | | | | | This patch extends some existing warnings to utilize the knowledge about the gsl::Pointer and gsl::Owner attributes. Differential Revision: https://reviews.llvm.org/D64256 llvm-svn: 368072
* Added Delta IR Reduction ToolDiego Trevino Ferrer2019-08-0613-0/+778
| | | | | | | | | | | | | | Summary: Tool parses input IR file, and runs the delta debugging algorithm to reduce the functions inside the input file. Reviewers: alexshap, chandlerc Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63672 llvm-svn: 368071
* [clang-doc] Add index in each info html fileDiego Astiazaran2019-08-0616-59/+431
| | | | | | | | | | | | An index structure is created while generating the output file for each info. This structure is parsed to JSON and written to a file in the output directory. The html for the index is not rendered by clang-doc. A Javascript file is included in the output directory, this will the JSON file and insert HTML elements into the file. Differential Revision: https://reviews.llvm.org/D65690 llvm-svn: 368070
* Various build fixes for lldb on MinGWHaibo Huang2019-08-066-0/+22
| | | | | | | | | | Subscribers: mstorsjo, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D65691 llvm-svn: 368069
* [OPENMP][OFFLOADING]Fix the test, NFC.Alexey Bataev2019-08-061-4/+5
| | | | llvm-svn: 368068
* [GISel]: Fix trivial build breakageAditya Nandakumar2019-08-063-2/+3
| | | | llvm-svn: 368067
* [lldb][CMake] Generating Xcode projectsStefan Granitz2019-08-063-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Print a warning if the wrong cache script is used when generating a Xcode project, because it's too easy to confuse with Apple-lldb-macOS.cmake ``` When building with Xcode, we recommend using the corresponding cache script. If this was a mistake, clean your build directory and re-run CMake with: -C /path/to/llvm-project/lldb/cmake/caches/Apple-lldb-Xcode.cmake See: https://lldb.llvm.org/resources/build.html#cmakegeneratedxcodeproject ``` Also set the generator inside the cache script. Reviewers: JDevlieghere, jingham, clayborg Reviewed By: JDevlieghere Subscribers: mgorny, lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D65797 llvm-svn: 368066
* [GISel]: Add GISelKnownBits analysisAditya Nandakumar2019-08-0616-9/+547
| | | | | | | | | | | | | | https://reviews.llvm.org/D65698 This adds a KnownBits analysis pass for GISel. This was done as a pass (compared to static functions) so that we can add other features such as caching queries(within a pass and across passes) in the future. This patch only adds the basic pass boiler plate, and implements a lazy non caching knownbits implementation (ported from SelectionDAG). I've also hooked up the AArch64PreLegalizerCombiner pass to use this - there should be no compile time regression as the analysis is lazy. llvm-svn: 368065
* [modulemap] exclude a non-module friendly headerKristina Brooks2019-08-061-0/+6
| | | | | | | Exclude Attributor.h from LLVM_Transforms to avoid a link failure when building modular LLVM. llvm-svn: 368064
* [globalisel] Allow SrcOp to convert an APInt and render it as an immediate ↵Daniel Sanders2019-08-063-3/+25
| | | | | | | | | | | | | | | | | | | | operand (MO.isImm() == true) Summary: This is tested by D61289 but has been pulled into a separate patch at a reviewers request. Reviewers: bogner, aditya_nandakumar, volkan, aemerson, paquette, arsenm, rovka Reviewed By: arsenm Subscribers: javed.absar, hiraditya, wdng, kristof.beyls, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61321 llvm-svn: 368063
* [Syntax] Do not add a node for 'eof' into the treeIlya Biryukov2019-08-062-13/+16
| | | | | | | | | | | | | | | | | | Summary: While useful as a sentinel value when iterating over tokens, having 'eof' in the tree, seems to do more harm than good. Reviewers: sammccall Reviewed By: sammccall Subscribers: javed.absar, kristof.beyls, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64576 llvm-svn: 368062
* [X86] Move CPU features for Barcelona/K10 out of lineRoman Lebedev2019-08-061-4/+17
| | | | | | | | | | | | | | | | | | | | Summary: Cleans X86.td's Barcelona entry to be more like the others, by moving the features out of the `Proc<>`, thus potentially making it possible to inherit from them. Split off from D63628 Reviewers: craig.topper, RKSimon Reviewed By: craig.topper Subscribers: hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65791 llvm-svn: 368061
* [TableGen] FieldInit: improve assertion messageRoman Lebedev2019-08-061-1/+8
| | | | | | | | | | | | | | | | | | | | | | Summary: When fiddling with sched profiles, especially creating new ones, it's amazingly easy to end up with malformed .td that crashes tablegen, without explanation of the bug. This changes the most common assertion i have encountered to dump enough information to be able to fix the .td Split of from D63628 Reviewers: RKSimon, craig.topper, nhaehnle Reviewed By: craig.topper Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65790 llvm-svn: 368060
* [InstCombine] Shift amount reassociation: shl-trunc-shl patternRoman Lebedev2019-08-063-68/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently `reassociateShiftAmtsOfTwoSameDirectionShifts()` only handles two shifts one after another. If the shifts are `shl`, we still can easily perform the fold, with no extra legality checks: https://rise4fun.com/Alive/OQbM If we have right-shift however, we won't be able to make it any simpler than it already is. After this the only thing missing here is constant-folding: (`NewShAmt >= bitwidth(X)`) * If it's a logical shift, then constant-fold to `0` (not `undef`) * If it's a `ashr`, then a splat of original signbit https://rise4fun.com/Alive/E1K https://rise4fun.com/Alive/i0V Reviewers: spatel, nikic, xbolva00 Reviewed By: spatel Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65380 llvm-svn: 368059
* Fixed toHalfOpenFileRange assertion failShaurya Gupta2019-08-062-12/+61
| | | | | | | | | | | | | | Summary: - Added new function that gets Expansion range with both ends in the same file. - Fixes the crash at https://github.com/clangd/clangd/issues/113 Subscribers: ilya-biryukov, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65754 llvm-svn: 368058
* [ELF][PPC] Don't relax ifunc toc-indirect accesses to toc-relativeFangrui Song2019-08-062-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes PR42759. ``` // If ifunc is taken address in -fPIC code, it may have a toc entry .section .toc,"aw",@progbits .quad ifunc // ifunc may be defined as STT_GNU_IFUNC in another object file .type ifunc, %gnu_indirect_function ``` If ifunc is non-preemptable (e.g. when linking an executable), the toc entry will be relocated by R_PPC64_IRELATIVE. R_*_IRELATIVE represents the symbolic value of a non-preemptable ifunc (not associated with a canonical PLT) in a writable location. It has an unknown value at link time, so we cannot apply toc-indirect to toc-relative relaxation. Reviewed By: luporl, sfertile Differential Revision: https://reviews.llvm.org/D65755 llvm-svn: 368057
* [NFC][EarlyCSE] Pre-commit unary FNeg tests.Cameron McInally2019-08-061-0/+13
| | | | llvm-svn: 368056
* Re-land D65760/r367944 Diego Caballero2019-08-061-1/+15
| | | | | | Fixed most vexing parse ambiguation. llvm-svn: 368055
* [compiler-rt] Rename FuzzedDataProvider.h to .hpp and other minor changes.Max Moroz2019-08-065-4/+6
| | | | | | | | | | | | | | | | | | Summary: .hpp makes more sense for this header as it's C++ only, plus it contains the actual implementation. Reviewers: Dor1s Reviewed By: Dor1s Subscribers: kubamracek, dberris, mgorny, delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D65812 llvm-svn: 368054
* [Path] Fix bug in make_absolute logicJonas Devlieghere2019-08-062-7/+16
| | | | | | | | | | | This fixes a bug for making path with a //net style root absolute. I discovered the bug while writing a test case for the VFS, which uses these paths because they're both legal absolute paths on Windows and Unix. Differential revision: https://reviews.llvm.org/D65675 llvm-svn: 368053
* [AST] Traverse attributes inside DEF_TRAVERSE_DECL macroIlya Biryukov2019-08-063-6/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Instead of traversing inside the TraverseDecl() function. Previously the attributes were traversed after Travese(Some)Decl returns. Logically attributes are properties of particular Decls and should be traversed alongside other "child" nodes. None of the tests relied on this behavior, hopefully this is an indication that the change is relatively safe. This change started with a discussion on cfe-dev, for details see: https://lists.llvm.org/pipermail/cfe-dev/2019-July/062899.html Reviewers: rsmith, gribozavr Reviewed By: gribozavr Subscribers: mgorny, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64907 llvm-svn: 368052
* [libc++] Use the monorepo in the macos-trunk CI scriptLouis Dionne2019-08-061-54/+17
| | | | llvm-svn: 368051
* [CMake] Add mapping for IBM XL -qnoeh and -qnorttiHubert Tong2019-08-061-0/+4
| | | | | | | | | | | | | | | | | | Summary: This patch maps in the `-qnoeh` and `-qnortti` options for building with IBM XL compilers. Reviewers: daltenty, xingxue, jasonliu Reviewed By: daltenty Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65669 llvm-svn: 368050
* [AArch64] NFC: Generalize emitFrameOffset to support more than byte offsets.Sander de Smalen2019-08-061-65/+83
| | | | | | | | | | | | | | Refactor emitFrameOffset to accept a StackOffset struct as its offset argument. This method currently only supports byte offsets (MVT::i8) but will be extended in a later patch to support scalable offsets (MVT::nxv1i8) as well. Reviewers: thegameg, rovka, t.p.northover, efriedma, greened Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D61436 llvm-svn: 368049
* [XCOFF][MC] report_fatal_error before dereferencing NULLHubert Tong2019-08-061-1/+2
| | | | | | | | This patch replaces a TODO comment with a call to `report_fatal_error`. The path that reaches the added call to `report_fatal_error` manifestly dereferences a null pointer. llvm-svn: 368048
* [test/Object] - Cleanup the Object\obj2yaml.test a bit.George Rimar2019-08-063-12/+1
| | | | | | | | | | | | | | | This makes 2 changes: 1) Removes unwind-section.elf-x86-64 object and the corresponding test case, because SHT_X86_64_UNWIND is already tested here: https://github.com/llvm-mirror/llvm/blob/master/test/tools/obj2yaml/section-type.yaml 2) Removes/partially moves "No such file or directory" test, because we already have a similar test here: https://github.com/llvm-mirror/llvm/blob/master/test/tools/obj2yaml/invalid_input_file.test Differential revision: https://reviews.llvm.org/D65570 llvm-svn: 368044
* [TargetLowering] SimplifyMultipleUseDemandedBits - return UNDEF for ↵Simon Pilgrim2019-08-065-59/+66
| | | | | | | | undemanded ops If we demand no bits/elts from an Op, just return UNDEF llvm-svn: 368043
* [StructurizeCFG] Enable -structurizecfg-relaxed-uniform-regions by defaultTim Renouf2019-08-062-3/+3
| | | | | | | | | | | D62198 introduced an option to relax the checks for hasOnlyUniformBranches. This commit turns the option on by default, for better code generation in some cases in AMDGPU. Differential Revision: https://reviews.llvm.org/D63198 Change-Id: I9cbff002a1e74d3b7eb96b4192dc8129936d537d llvm-svn: 368042
* [ELF][ARM] Fix /DISCARD/ of section with .ARM.exidx sectionPeter Smith2019-08-062-1/+50
| | | | | | | | | | | | | | | | | | The combineEhSections runs, by design, before processSectionCommands so that input exception sections like .ARM.exidx and .eh_frame are not assigned to OutputSections. Unfortunately if /DISCARD/ removes InputSections that have associated .ARM.exidx sections without discarding the .ARM.exidx synthetic section then we will end up crashing when trying to sort the InputSections in ascending address order. We fix this by filtering out the sections that have been discarded prior to processing the InputSections in finalizeContents(). fixes pr42890 Differential Revision: https://reviews.llvm.org/D65759 llvm-svn: 368041
* [ELF] Make binding (weak or non-weak) logic consistent for Undefined and ↵Fangrui Song2019-08-064-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SharedSymbol This is a case missed by D64136. If %t1.o has a weak reference on foo, and %t2.so has a non-weak reference on foo: ``` 0. ld.lld %t1.o %t2.so # ok; STB_WEAK; accepted since D64136 1. ld.lld %t2.so %t1.o # undefined symbol: foo; STB_GLOBAL 2. gold %t1.o %t2.so # ok; STB_WEAK 3. gold %t2.so %t1.o # undefined reference to 'foo'; STB_GLOBAL 4. ld.bfd %t1.o %t2.so # undefined reference to `foo'; STB_WEAK 5. ld.bfd %t2.so %t1.o # undefined reference to `foo'; STB_WEAK ``` It can be argued that in both cases, the binding of the undefined foo should be set to STB_WEAK, because the binding should not be affected by referenced from shared objects. --allow-shlib-undefined doesn't suppress errors (3,4,5), but -shared or --noinhibit-exec allows ld.bfd/gold to produce a binary: ``` 3. gold -shared %t2.so %t1.o # ok; STB_GLOBAL 4. ld.bfd -shared %t2.so %t1.o # ok; STB_WEAK 5. ld.bfd -shared %t1.o %t1.o # ok; STB_WEAK ``` If %t2.so has DT_NEEDED entries, ld.bfd will load them (lld/gold don't have the behavior). If one of the DSO defines foo and it is in the link-time search path (e.g. DT_NEEDED entry is an absolute path, via -rpath=, via -rpath-link=, etc), `ld.bfd %t1.o %t2.so` and `ld.bfd %t1.o %t2.so` will not error. In this patch, we make Undefined and SharedSymbol share the same binding computing logic. Case 1 will be allowed: ``` 0. ld.lld %t1.o %t2.so # ok; STB_WEAK; accepted since D64136 1. ld.lld %t2.so %t1.o # ok; STB_WEAK; changed by this patch ``` In the future, we can explore the option that turns both (0,1) into errors if --no-allow-shlib-undefined (default when linking an executable) is in action. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D65584 llvm-svn: 368038
* Revert "Fixed failing test cases"Dmitri Gribenko2019-08-062-2/+2
| | | | | | This reverts commit r368030, which depends on r368021 that I reverted. llvm-svn: 368036
* Revert "[yaml2obj] Move core yaml2obj code into lib and include for use in ↵Dmitri Gribenko2019-08-0616-290/+149
| | | | | | | | unit tests" This reverts commit r368021, it broke tests. llvm-svn: 368035
* Revert "gn build: Merge r368021"Dmitri Gribenko2019-08-063-9/+8
| | | | | | | This reverts commit r368025, which depends on r368021, which needs to be reverted. llvm-svn: 368034
* Update LLDB to follow changes in llvm::DWARFDebugNames::NameIndex (4/5)Igor Kudrin2019-08-061-3/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D65640 llvm-svn: 368033
* [MachO] Update LLD to use 64-bit offsets with DataExtractor (3/5)Igor Kudrin2019-08-061-6/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D65639 llvm-svn: 368032
* AArch64: bail instead of asserting on unexpected type in G_CONSTANT 0.Tim Northover2019-08-062-2/+27
| | | | llvm-svn: 368031
* Fixed failing test casesAlex Brachet2019-08-062-2/+2
| | | | llvm-svn: 368030
* Improve MSVC visualizations so the parser shows where we are in the codeMike Spertus2019-08-061-0/+46
| | | | | | Also provide a visualizer for lambda introducers llvm-svn: 368029
* [InstCombine] add tests for binop with FMF with select operands; NFCSanjay Patel2019-08-061-0/+51
| | | | | | Baseline coverage for D65658. llvm-svn: 368028
* gn build: Merge r368024Nico Weber2019-08-061-0/+1
| | | | llvm-svn: 368027
* [X86][SSE] Call SimplifyMultipleUseDemandedBits on PACKSS/PACKUS arguments.Simon Pilgrim2019-08-067-16/+36
| | | | | | This mainly helps to replace unused arguments with UNDEF in the case where they have multiple users. llvm-svn: 368026
* gn build: Merge r368021Nico Weber2019-08-063-8/+9
| | | | llvm-svn: 368025
OpenPOWER on IntegriCloud