summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Alignment][NFC] Use Align for TargetFrameLowering/SubtargetGuillaume Chatelet2019-10-1735-89/+95
| | | | | | | | | | | | | | | | | Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, Jim, lenary, s.egerton, pzheng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68993 llvm-svn: 375084
* [ThinLTO] Import virtual method with single implementation in hybrid modeEugene Leviant2019-10-174-34/+191
| | | | | | Differential revision: https://reviews.llvm.org/D68782 llvm-svn: 375083
* [llvm-ar] Simplify and make two global variables static. NFCFangrui Song2019-10-171-10/+4
| | | | llvm-svn: 375082
* [lld][WebAssebmly] Preserve custom import attributes with LTOSam Clegg2019-10-176-6/+87
| | | | | | | | | | | | | | | | | | | Undefined symbols in WebAssembly can come with custom `import-module` and `import-field` attributes. However when reading symbols from bitcode object files during LTO those curtom attributes are not available. Once we compile the LTO object and read in the symbol table from the object file we have access to these custom attributes. In this case, when undefined symbols are added and a symbol already exists in the SymbolTable we can't simple return it, we may need to update the symbol's attributes. Fixes: PR43211 Differential Revision: https://reviews.llvm.org/D68959 llvm-svn: 375081
* Revert "Include sanitize blacklist and other extra deps as part of scan-deps ↵Kousik Kumar2019-10-174-24/+0
| | | | | | | | | | | | | | | | | | output" This test is failing on Windows bots, revert for now (will check the right fix and retry the patch). Summary: This reverts commit 962ca076e51c25a7a08f4e0d329c65328a635bdb. Reviewers: Bigcheese, jkorous, arphaman Subscribers: dexonsmith, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69079 llvm-svn: 375079
* [lld][WebAssembly] Fix for weak references to data symbols in archivesSam Clegg2019-10-172-4/+24
| | | | | | | | | | | | | Fix a bug where were not handling relocations against weakly undefined data symbol. Add a test for this case. Also ensure that the weak references to data symbols are not pulled in from archive files by default (but are if `-u <name>` is added to the command line). Fixes: PR43696 Differential Revision: https://reviews.llvm.org/D69073 llvm-svn: 375077
* Clang-formatting of some files in LiveRangeCalc header (LiveRangeCalc.h)Marcello Maggioni2019-10-171-6/+4
| | | | | | NFC llvm-svn: 375076
* Move LiveRangeCalc header to publicily available position. NFCMarcello Maggioni2019-10-177-6/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D69078 llvm-svn: 375075
* Include sanitize blacklist and other extra deps as part of scan-deps outputKousik Kumar2019-10-174-0/+24
| | | | | | | | | | | | | | | | | Summary: Clang's -M mode includes these extra dependencies in its output and clang-scan-deps should have equivalent behavior, so adding these extradeps to output just like how its being done for ".d" file generation mode. Reviewers: arphaman, dexonsmith, Bigcheese, jkorous Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69017 llvm-svn: 375074
* delete SWIG typemaps for FILE*Lawrence D'Anna2019-10-177-134/+10
| | | | | | | | | | | | | | | | | | Summary: The SWIG typemaps for FILE* are no longer used, so this patch deletes them. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68963 llvm-svn: 375073
* SBCommandReturnObject: change LLDB_RECORD_METHOD(..., FILE *, ...) to use ↵Fangrui Song2019-10-171-11/+10
| | | | | | | | | | | | | | | | | | | LLDB_RECORD_DUMMY POSIX says FILE is a typedef to a structure containing information about a file. The structure is unspecified, i.e. it may be an incomplete type, as is the case on musl (`struct _IO_FILE` is an implementation detail that is not exposed). `LLDB_RECORD_METHOD(..., (FILE *), ...)` transitively uses sizeof(FILE) and requires the structure to be complete. Change it to LLDB_RECORD_DUMMY to fix the build failure on musl (regression of D57475). Reviewed By: JDevlieghere, labath, lawrence_danna Differential Revision: https://reviews.llvm.org/D68872 llvm-svn: 375072
* Correct placement of #ifndef NDEBUG in r375067Daniel Sanders2019-10-171-12/+7
| | | | llvm-svn: 375071
* Fix unused variable in r375066Daniel Sanders2019-10-171-2/+2
| | | | llvm-svn: 375070
* Revert Tag CFI-generated data structures with "#pragma clang section" ↵Dmitry Mikulin2019-10-175-81/+5
| | | | | | | | attributes. This reverts r375022 (git commit e2692b3bc0327606748b6d291b9009d2c845ced5) llvm-svn: 375069
* [CMake] Make it possible to set the RPATH in add_lldb_exectable.Jonas Devlieghere2019-10-171-2/+15
| | | | | | | | | | | | | | Make it possible to pass a build and install RPATH to add_lldb_executable instead of having to call lldb_setup_rpaths after the fact. This fixes a real issue where setting an install RPATH with lldb_setup_rpaths would only affect the symroot installation component. Given that lldb_setup_rpaths sets a target property I would expect this to be orthogonal to installation components. Regardless, it makes sense to integrate this functionality in add_lldb_exectable. llvm-svn: 375068
* [gicombiner] Add the run-time rule disable optionDaniel Sanders2019-10-176-5/+155
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Each generated helper can be configured to generate an option that disables rules in that helper. This can be used to bisect rulesets. The disable bits are stored in a SparseVector as this is very cheap for the common case where nothing is disabled. It gets more expensive the more rules are disabled but you're generally doing that for debug purposes where performance is less of a concern. Depends on D68426 Reviewers: volkan, bogner Reviewed By: volkan Subscribers: hiraditya, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68438 llvm-svn: 375067
* [GISel][CombinerHelper] Add concat_vectors(build_vector, build_vector) => ↵Quentin Colombet2019-10-174-0/+250
| | | | | | | | | | | | | build_vector Teach the combiner helper how to flatten concat_vectors of build_vectors into a build_vector. Add this combine as part of AArch64 pre-legalizer combiner. Differential Revision: https://reviews.llvm.org/D69071 llvm-svn: 375066
* [lit] Improve lit.Run classJulian Lettner2019-10-172-31/+37
| | | | | | | | * Push timing of overall test time into run module * Make lit.Run a proper class * Add a few TODO comments llvm-svn: 375065
* [Reproducer] Set the working directory in the VFSJonas Devlieghere2019-10-172-3/+14
| | | | | | | | | Now that the VFS knows how to deal with virtual working directories, we can set the current working directory to the one we recorded during reproducer capture. This ensures that relative paths are resolved correctly during replay. llvm-svn: 375064
* [Concepts] ConceptSpecializationExprs manglingSaar Raz2019-10-173-4/+31
| | | | | | | | | Implement mangling for CSEs to match regular template-ids. Reviewed as part of D41569 <https://reviews.llvm.org/D41569>. Re-commit fixing failing test. llvm-svn: 375063
* Revert "make ConstString allocate memory in non-tiny chunks"Raphael Isemann2019-10-171-7/+2
| | | | | | | | | | | | As discussed in https://reviews.llvm.org/D68549, the actual issue here seems to be that the BumpPtrAllocator is growing far too slow because of the 256 different StringPools used as the backend for ConstString. At the same time the original patch made ConstString allocate memory in 256MiB slabs for the same reason, meaning that the RSS usage of LLDB increased by a few hundred MiB for all users without bringing any noticeable speedup for most of them. llvm-svn: 375062
* [Reproducer] Support dumping the reproducer CWDJonas Devlieghere2019-10-173-3/+26
| | | | | | | Add support for dumping the current working directory with `reproducer dump -p cwd`. llvm-svn: 375061
* [Reproducer] Add LoadBuffer<> helper (NFC)Jonas Devlieghere2019-10-172-11/+13
| | | | | | | Introduce a helper method named LoadBuffer in the Loader to abstract reading a reproducer file from disk. llvm-svn: 375060
* [Reproducer] Capture the debugger's working directoryJonas Devlieghere2019-10-173-1/+47
| | | | | | | | This patch extends the reproducer to capture the debugger's current working directory. This information will be used later to set the current working directory of the VFS. llvm-svn: 375059
* [lit] Fix another test case that r374652 missedJoel E. Denny2019-10-161-1/+1
| | | | llvm-svn: 375058
* [gicombiner] Hoist pure C++ combine into the tablegen definitionDaniel Sanders2019-10-168-22/+368
| | | | | | | | | | | | | | | | | | | | | | Summary: This is just moving the existing C++ code around and will be NFC w.r.t AArch64. Renamed 'CombineBr' to something more descriptive ('ElideByByInvertingCond') at the same time. The remaining combines in AArch64PreLegalizeCombiner require features that aren't implemented at this point and will be hoisted as they are added. Depends on D68424 Reviewers: bogner, volkan Subscribers: kristof.beyls, hiraditya, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68426 llvm-svn: 375057
* [lit] Remove unnecessary usage of lit.RunJulian Lettner2019-10-162-5/+3
| | | | llvm-svn: 375056
* [lit] Do not create semaphores when we do not need themJulian Lettner2019-10-161-7/+6
| | | | | | | Parallelism groups and semaphores are only required for parallel execution. llvm-svn: 375055
* [lit] Factor out separate methods for parallel and serial executionJulian Lettner2019-10-161-43/+47
| | | | llvm-svn: 375054
* [NFC] Fix unused var in release buildsJordan Rupprecht2019-10-161-0/+1
| | | | llvm-svn: 375053
* Revert [support] GlobPattern: add support for `\` and `[!...]`, and allow ↵Jordan Rupprecht2019-10-163-113/+46
| | | | | | | | | | `]` in more places This reverts r375051 (git commit a409afaad64ce83ea44cc30ee5f96b6e613a6e98) The patch does not work on Windows due to `\` in filenames being interpreted as escaping rather than literal path separators when used by lld linker scripts. llvm-svn: 375052
* [support] GlobPattern: add support for `\` and `[!...]`, and allow `]` in ↵Jordan Rupprecht2019-10-163-46/+113
| | | | | | | | | | | | | | | | | | | | | | | | more places Summary: Update GlobPattern in libSupport to handle a few more cases. It does not fully match the `fnmatch` used by GNU objcopy since named character classes (e.g. `[[:digit:]]`) are not supported, but this should support most existing use cases (mostly just `*` is what's used anyway). This will be used to implement the `--wildcard` flag in llvm-objcopy to be more compatible with GNU objcopy. This is split off of D66613 to land the libSupport changes separately. The llvm-objcopy part will land soon. Reviewers: jhenderson, MaskRay, evgeny777, espindola, alexshap Reviewed By: MaskRay Subscribers: nickdesaulniers, emaste, arichardson, hiraditya, jakehehrlich, abrachet, seiya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66613 undo objcopy changes to make this libsupport only llvm-svn: 375051
* [Utils] Cleanup similar cases to MergeBlockIntoPredecessor.Alina Sbirlea2019-10-164-70/+56
| | | | | | | | | | | | | | | | | | | Summary: There are two cases where a block is merged into its predecessor and the MergeBlockIntoPredecessor API is not used. Update the API so it can be reused in the other cases, in order to avoid code duplication. Cleanup motivated by D68659. Reviewers: chandlerc, sanjoy.google, george.burgess.iv Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68670 llvm-svn: 375050
* [lit] Print warning if we fail to delete temp directoryJulian Lettner2019-10-161-3/+3
| | | | llvm-svn: 375049
* [lit] Skip creation of tmp dir if we don't actually run any testsJulian Lettner2019-10-161-32/+35
| | | | llvm-svn: 375048
* [lit] Remove return value from print_summary functionJulian Lettner2019-10-161-9/+5
| | | | llvm-svn: 375047
* [lit] Small refactoring and cleanups in main.pyJulian Lettner2019-10-161-69/+55
| | | | | | | | | | | | | * Remove outdated precautions for Python versions < 2.7 * Remove dead code related to `maxIndividualTestTime` option * Move printing of test and result summary out of main into its own function Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68847 llvm-svn: 375046
* Update ReleaseNotes: expand the section on enabling MemorySSAAlina Sbirlea2019-10-161-1/+14
| | | | llvm-svn: 375045
* [dsymutil] Print warning/error for unknown/missing arguments.Jonas Devlieghere2019-10-162-0/+16
| | | | | | | | | After changing dsymutil to use libOption, we lost error reporting for missing required arguments (input files). Additionally, we stopped complaining about unknown arguments. This patch fixes both and adds a test. llvm-svn: 375044
* [AArch64] Fix offset calculationShoaib Meenai2019-10-163-4/+21
| | | | | | | | | | | | | | | | | r374772 changed Offset to be an int64_t but left NewOffset as an int. Scale is unsigned, so in the calculation `Offset - NewOffset * Scale`, `NewOffset * Scale` was promoted to unsigned and was then zero-extended to 64 bits, leading to an incorrect computation which manifested as an out-of-memory when building the Swift standard library for Android aarch64. Promote NewOffset to int64_t to fix this, and promote EmittableOffset as well, since its one user passes it to a function which takes an int64_t anyway. Test case based on a suggestion by Sander de Smalen! Differential Revision: https://reviews.llvm.org/D69018 llvm-svn: 375043
* GlobalISel: Implement lower for G_SADDO/G_SSUBOMatt Arsenault2019-10-168-140/+322
| | | | | | | Port directly from SelectionDAG, minus the path using ISD::SADDSAT/ISD::SSUBSAT. llvm-svn: 375042
* [Symbolize] Use the local MSVC C++ demangler instead of relying on dbghelp. NFC.Martin Storsjo2019-10-163-31/+11
| | | | | | | | | This allows making a couple llvm-symbolizer tests run in all environments. Differential Revision: https://reviews.llvm.org/D68133 llvm-svn: 375041
* Remove a stale comment, noted in post commit review for rL375038Philip Reames2019-10-161-1/+0
| | | | llvm-svn: 375040
* [clangd] Add the missing dependency on `clangLex`.Michael Liao2019-10-162-0/+2
| | | | llvm-svn: 375039
* [IndVars] Fix a miscompile in off-by-default loop predication implementationPhilip Reames2019-10-162-14/+37
| | | | | | | | | | | | The problem is that we can have two loop exits, 'a' and 'b', where 'a' and 'b' would exit at the same iteration, 'a' precedes 'b' along some path, and 'b' is predicated while 'a' is not. In this case (see the previously submitted test case), we causing the loop to exit through 'b' whereas it should have exited through 'a'. This only applies to loop exits where the exit counts are not provably inequal, but that isn't as much of a restriction as it appears. If we could order the exit counts, we'd have already removed one of the two exits. In theory, we might be able to prove inequality w/o ordering, but I didn't really explore that piece. Instead, I went for the obvious restriction and ensured we didn't predicate exits following non-predicateable exits. Credit goes to Evgeny Brevnov for figuring out the problematic case. Fuzzing probably also found it (failures seen), but due to some silly infrastructure problems I hadn't gotten to the results before Evgeny hand reduced it from a benchmark (he manually enabled the transform). Once this is fixed, I'll try to filter through the fuzzer failures to see if there's anything additional lurking. Differential Revision https://reviews.llvm.org/D68956 llvm-svn: 375038
* [LLDB] Use the llvm microsoft demangler instead of the windows dbghelp api. ↵Martin Storsjo2019-10-161-41/+7
| | | | | | | | NFCI. Differential Revision: https://reviews.llvm.org/D68134 llvm-svn: 375034
* [AMDGPU] Do not combine dpp mov reading physregsStanislav Mekhanoshin2019-10-162-0/+30
| | | | | | | | We cannot be sure physregs will stay unchanged. Differential Revision: https://reviews.llvm.org/D69065 llvm-svn: 375033
* Add arm64_32 support to lldb, an ILP32 codegen Jason Molenda2019-10-1636-28/+123
| | | | | | | | | | that runs on arm64 ISA targets, specifically Apple watches. Differential Revision: https://reviews.llvm.org/D68858 llvm-svn: 375032
* Replace platform-dependent `stat` with `llvm::sys::fs::status`. NFC intended.Volodymyr Sapsai2019-10-162-10/+9
| | | | | | | | | | | | Reviewers: bruno, sammccall Reviewed By: sammccall Subscribers: jkorous, dexonsmith, arphaman, ributzka, cfe-commits Differential Revision: https://reviews.llvm.org/D69011 llvm-svn: 375031
* [AMDGPU] Do not combine dpp with physreg defStanislav Mekhanoshin2019-10-162-0/+16
| | | | | | | | We will remove dpp mov along with the physreg def otherwise. Differential Revision: https://reviews.llvm.org/D69063 llvm-svn: 375030
OpenPOWER on IntegriCloud