summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gn build: Merge r362371Nico Weber2019-06-033-0/+10
| | | | llvm-svn: 362433
* Add ScalarEvolutionsTest::SCEVExpandInsertCanonicalIV tests Artur Pilipenko2019-06-031-0/+193
| | | | | | Test insertion of canonical IV in canonical expansion mode. llvm-svn: 362432
* Add cdb test for inline line tablesReid Kleckner2019-06-031-0/+45
| | | | | | | | | | | | | | | This creates an integration test for inlined call line tables, and in particular, ones that are discontiguous. We've had issues in the past with discontiguous inline line tables, and until r362429 LLD didn't write the inlinees section into the PDB. The test was reduced from https://crbug.com/965670 Reviewers: thakis Differential Revision: https://reviews.llvm.org/D62758 llvm-svn: 362431
* [ConstantRange] Add sdiv() supportNikita Popov2019-06-033-0/+152
| | | | | | | | | | | | | | | | | | | | | | | | | The implementation is conceptually simple: We separate the LHS and RHS into positive and negative components and then also compute the positive and negative components of the result, taking into account that e.g. only pos/pos and neg/neg will give a positive result. However, there's one significant complication: SignedMin / -1 is UB for sdiv, and we can't just ignore it, because the APInt result of SignedMin would break the sign segregation. Instead we drop SignedMin or -1 from the corresponding ranges, taking into account some edge cases with wrapped ranges. Because of the sign segregation, the implementation ends up being nearly fully precise even for wrapped ranges (the remaining imprecision is due to ranges that are both signed and unsigned wrapping and are divided by a trivial divisor like 1). This means that the testing cannot just check the signed envelope as we usually do. Instead we collect all possible results in a bitvector and construct a better sign wrapped range (than the full envelope). Differential Revision: https://reviews.llvm.org/D61238 llvm-svn: 362430
* [PDB] Copy inlinee lines records into the PDBReid Kleckner2019-06-036-17/+809
| | | | | | | | | | | | | | | | | | Summary: - Fixes inline call frame line table display in windbg. - Improve llvm-pdbutil to dump extra file ids. - Warn on unknown subsections so we don't have this kind of bug in the future. Reviewers: inglorion, akhuang, aganea Subscribers: eraman, zturner, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62701 llvm-svn: 362429
* gn build: Merge r362352Nico Weber2019-06-031-0/+1
| | | | llvm-svn: 362428
* Fix a crash when the default of a switch is removedAndrew Kaylor2019-06-032-0/+41
| | | | | | | | This patch fixes a problem that occurs in LowerSwitch when a switch statement has a PHI node as its condition, and the PHI node only has two incoming blocks, and one of those incoming blocks is through an unreachable default in the switch statement. When this condition occurs, LowerSwitch holds a pointer to the condition value, but removes the switch block as a predecessor of the PHI block, causing the PHI node to be replaced. LowerSwitch then tries to use its stale pointer to the original condition value, causing a crash. Differential Revision: https://reviews.llvm.org/D62560 llvm-svn: 362427
* [Tests] Add LFTR tests for multiple exit loops (try 2)Philip Reames2019-06-031-0/+276
| | | | | | | | (Recommit after fixing a keymash in the run line. Sorry for breakage.) This is preparation for D62625 <https://reviews.llvm.org/D62625> llvm-svn: 362426
* tools: add `llvm-nm` and `llvm-objcopy` to toolsSaleem Abdulrasool2019-06-031-0/+2
| | | | | | | | | Add `nm` and `objcopy` to the default value for the tools that we install now that they are sufficiently feature complete to replace bintuils' implementation. Patch by Jiang Yi! llvm-svn: 362425
* builtins: correct function name for AEABISaleem Abdulrasool2019-06-031-2/+2
| | | | | | | | | | If `COMPILER_RT_ARMHF_TARGET` is set , the definition of the AEABI runtime function `__aeabi_fcmpun` is misspelt: `__aeabi_fcmpum` instead of `__aeabi_fcmpun`. Patch by Konstantin Schwarz! llvm-svn: 362424
* Include what you use in Lanai.hDmitri Gribenko2019-06-033-6/+3
| | | | | | | Other files were not relying on these transitive includes, so I'm submitting this change separately. llvm-svn: 362423
* Include what you use in LanaiAsmPrinter.cppDmitri Gribenko2019-06-031-1/+2
| | | | llvm-svn: 362422
* Include what you use in LanaiMemAluCombiner.cppDmitri Gribenko2019-06-031-1/+1
| | | | llvm-svn: 362421
* Include what you use in LanaiISelDAGToDAG.cppDmitri Gribenko2019-06-031-1/+1
| | | | llvm-svn: 362420
* Include what you use in LanaiFrameLowering.{cpp,h}Dmitri Gribenko2019-06-032-2/+0
| | | | llvm-svn: 362419
* Revert "[Tests] Add LFTR tests for multiple exit loops"Dmitri Gribenko2019-06-031-276/+0
| | | | | | This reverts commit r362417. There's a syntax error in the RUN line. llvm-svn: 362418
* [Tests] Add LFTR tests for multiple exit loopsPhilip Reames2019-06-031-0/+276
| | | | | | This is preparation for D62625 llvm-svn: 362417
* Include what you use in LanaiRegisterInfo.cppDmitri Gribenko2019-06-031-2/+4
| | | | llvm-svn: 362416
* [LoopPred] Convert a second member function to a static helper [NFC]Philip Reames2019-06-031-14/+15
| | | | | | (And remember to actually mark the first one static.) llvm-svn: 362415
* [WebAssembly] Remove fptosi(undef) and fptoui(undef) from reduced test case.Simon Pilgrim2019-06-031-4/+4
| | | | | | Pre-commit for D62811 - which adds DAG fpto[us]i(undef) --> undef constant fold llvm-svn: 362414
* Revert "[llvm-ar] Fix relative thin archive path handling"Dmitri Gribenko2019-06-038-134/+37
| | | | | | | | | | This reverts commit r362407. It broke compilation of llvm/lib/Object/ArchiveWriter.cpp: error: type 'llvm::sys::path::const_iterator' does not provide a call operator llvm-svn: 362413
* [PowerPC] Set PROT_READ flag for MF_EXEC to prevent segfaults on PPC machinesNemanja Ivanovic2019-06-031-3/+2
| | | | | | | | | | | | | | | | | The big endian PPC buildbots are all failing now due to calls to cache invalidation in unit tests on data that has only the PROT_EXEC flag set. This has been an issue all along on FreeBSD but it can affect Linux machines depending on configuration. This patch mitigates the issue the same way it is mitigated on FreeBSD. Since this is needed to bring the buildbots back to green, I plan to commit this and allow for post-commit review, but I thought I would also post it here for ease of access/readability. Differential revision: https://reviews.llvm.org/D62741 llvm-svn: 362412
* [LoopPred] Convert member function to free helper function [NFC]Philip Reames2019-06-031-43/+47
| | | | llvm-svn: 362411
* Re-check in clang support gun asm goto after fixing tests.Jennifer Yu2019-06-0327-148/+746
| | | | llvm-svn: 362410
* [PR41567][Sema] Fixed cast kind in addr space conversionsAnastasia Stulova2019-06-032-0/+11
| | | | | | | | | This change sets missing cast kind correctly in the address space conversion case. Differential Revision: https://reviews.llvm.org/D62299 llvm-svn: 362409
* Include what you use in LanaiInstrInfo.cppDmitri Gribenko2019-06-031-3/+3
| | | | llvm-svn: 362408
* [llvm-ar] Fix relative thin archive path handlingOwen Reynolds2019-06-038-37/+134
| | | | | | | | This fixes some thin archive relative path issues, paths are shortened where possible and paths are output correctly when using the display table command. Differential Revision: https://reviews.llvm.org/D59491 llvm-svn: 362407
* [lldb-server unittest] Add missing teardown logicAntonio Afonso2019-06-031-0/+5
| | | | | | | | | | | | | | | | | | | | Summary: This test base class is missing the teardown making the second set of tests extending it to fail in an assertion in the FileSystem::Initialize() (as it's being initialized twice). Not sure why this isn't failing the build bots.. (unless they're running without asserts?). With this fix `ninja LLDBServerTests && ./tools/lldb/unittests/tools/lldb-server/tests/LLDBServerTests` successfully runs and passes all tests. Reviewers: clayborg, xiaobai, labath Reviewed By: xiaobai, labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D62788 llvm-svn: 362406
* Include what you use in PPCInstrInfo.hDmitri Gribenko2019-06-031-1/+0
| | | | llvm-svn: 362405
* [llvm] [test] Remove non-portable EISDIR test from macho-disassemble-g-dsym.testMichal Gorny2019-06-031-5/+0
| | | | | | | | | | | | | | Remove the test checking error message for 'is a directory'. It does not seem to serve any real purpose, and it relies on matching platform error strings which are unpredictable and makes the test fragile. Furthermore, it fails on NetBSD where read() works on directories, and therefore does not return EISDIR at all. Fixes r362141. Differential Revision: https://reviews.llvm.org/D62773 llvm-svn: 362404
* Include what you use in NVPTX.hDmitri Gribenko2019-06-031-7/+2
| | | | | | | Other files were not relying on these transitive includes, so I'm submitting this change separately. llvm-svn: 362403
* Include what you use in NVPTX.hDmitri Gribenko2019-06-037-2/+6
| | | | | | | I also fixed all other files that were including NVPTX.h and were relying on transitive includes. llvm-svn: 362402
* Fixed build warning with -DLIBOMP_USE_HWLOC=1Andrey Churbanov2019-06-032-1/+8
| | | | | | | | | | Made type of depth of hwloc object to correapond with change from unsigned in hwloc 1,x to int in hwloc 2.x. This eliminates the warning on signed-unsigned comparison. Differential Revision: https://reviews.llvm.org/D62332 llvm-svn: 362401
* [AMDGPU][MC] Added support of SCC, VCCZ and EXECZ operandsDmitry Preobrazhensky2019-06-039-26/+296
| | | | | | | | | | See bug 39292: https://bugs.llvm.org/show_bug.cgi?id=39292 Reviewers: rampitec, arsenm Differential Revision: https://reviews.llvm.org/D62660 llvm-svn: 362400
* Unbreak non-PIC builds after r362390 / D62720David Zarzycki2019-06-031-1/+1
| | | | llvm-svn: 362399
* [OpenCL] Undefine cl_intel_planar_yuv extensionAndrew Savonichev2019-06-033-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Remove unnecessary definition (otherwise the extension will be defined where it's not supposed to be defined). Consider the code: #pragma OPENCL EXTENSION cl_intel_planar_yuv : begin // some declarations #pragma OPENCL EXTENSION cl_intel_planar_yuv : end is enough for extension to become known for clang. Patch by: Dmitry Sidorov <dmitry.sidorov@intel.com> Reviewers: Anastasia, yaxunl Reviewed By: Anastasia Tags: #clang Differential Revision: https://reviews.llvm.org/D58666 llvm-svn: 362398
* [SelectionDAG] Add [us]itofp(undef) --> 0 constant fold (PR39205)Simon Pilgrim2019-06-036-204/+126
| | | | | | | | We were missing this fold in the DAG, which I've copied directly from llvm::ConstantFoldCastInstruction Differential Revision: https://reviews.llvm.org/D62807 llvm-svn: 362397
* [SystemZ] Remove sitofp(undef) from reduced test case.Simon Pilgrim2019-06-031-2/+2
| | | | | | Pre-commit for D62807 - which adds DAG [us]itofp(undef) --> 0 constant fold llvm-svn: 362396
* Include what you use in LanaiInstPrinter.cppDmitri Gribenko2019-06-031-1/+4
| | | | llvm-svn: 362395
* Include what you use in LanaiMCCodeEmitter.cppDmitri Gribenko2019-06-031-1/+1
| | | | | | | | | | LanaiMCCodeEmitter.cpp was not using any APIs from Lanai.h, and was only including it for transitive dependencies. Doing so is problematic from include-what-you-use perspective, but it is also a layering issue (it creates a dependency cycle between the primary Lanai target library and the MCTargetDesc library). llvm-svn: 362394
* Re-land [LLD][COFF] Early load PDB type server filesAlexandre Ganea2019-06-038-144/+368
| | | | | | | | | | We need to have all input files ready before doing debuginfo type merging. This patch is moving the late PDB type server discovery much earlier in the process, when the explicit inputs (OBJs, LIBs) are loaded. The short term goal is to parallelize type merging. Differential Revision: https://reviews.llvm.org/D60095 llvm-svn: 362393
* Include what you use in LanaiDisassembler.cppDmitri Gribenko2019-06-031-2/+3
| | | | llvm-svn: 362392
* [OpenCL] Use long instead of long long in x86 builtinsAndrew Savonichev2019-06-035-484/+532
| | | | | | | | | | | | | | | | | | | | | | Summary: According to C99 standard long long is at least 64 bits in size. However, OpenCL C defines long long as 128 bit signed integer. This prevents one to use x86 builtins when compiling OpenCL C code for x86 targets. The patch changes long long to long for OpenCL only. Patch by: Alexander Batashev <alexander.batashev@intel.com> Reviewers: craig.topper, Ka-Ka, eandrews, erichkeane, Anastasia Reviewed By: Ka-Ka, erichkeane, Anastasia Subscribers: a.elovikov, yaxunl, Anastasia, cfe-commits, ivankara, etyurin, asavonic Tags: #clang Differential Revision: https://reviews.llvm.org/D62580 llvm-svn: 362391
* AMDGPU/GFX10: V_CMPX_xxx instructions still have an omod operandNicolai Haehnle2019-06-031-2/+1
| | | | | | | | | | | | | | | Summary: Change-Id: If6ee98e4a723b643bc37254fc6ef8b3812db16da Reviewers: rampitec Subscribers: arsenm, kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62720 Change-Id: Id547ef152b2f92b24dc1c0efbf7e4467c4fb4b6e llvm-svn: 362390
* Include what you use in HexagonInstPrinter.cppDmitri Gribenko2019-06-031-1/+0
| | | | | | | | | HexagonInstPrinter.cpp was not using any APIs from HexagonAsmPrinter.h. Doing so is problematic from include-what-you-use perspective, but it is also a layering issue (it creates a dependency cycle between the primary Hexagon target library and the MCTargetDesc library). llvm-svn: 362389
* Include what you use in HexagonAsmPrinter.hDmitri Gribenko2019-06-031-1/+0
| | | | llvm-svn: 362388
* Include what you use in HexagonMCInstrInfo.cppDmitri Gribenko2019-06-031-1/+0
| | | | | | | | | HexagonMCInstrInfo.cpp was not using any APIs from Hexagon.h. Doing so is problematic from include-what-you-use perspective, but it is also a layering issue (it creates a dependency cycle between the primary Hexagon target library and the MCTargetDesc library). llvm-svn: 362387
* Include what you use in HexagonMCCodeEmitter.cppDmitri Gribenko2019-06-031-1/+0
| | | | | | | | | HexagonMCCodeEmitter.cpp was not using any APIs from Hexagon.h. Doing so is problematic from include-what-you-use perspective, but it is also a layering issue (it creates a dependency cycle between the primary Hexagon target library and the MCTargetDesc library). llvm-svn: 362386
* Include what you use in HexagonMCCompound.cppDmitri Gribenko2019-06-031-1/+0
| | | | | | | | | HexagonMCCompound.cpp was not using any APIs from Hexagon.h. Doing so is problematic from include-what-you-use perspective, but it is also a layering issue (it creates a dependency cycle between the primary Hexagon target library and the MCTargetDesc library). llvm-svn: 362385
* Include what you use in HexagonShuffler.cppDmitri Gribenko2019-06-031-1/+1
| | | | | | | | | | HexagonShuffler.cpp was not using any APIs from Hexagon.h, and was only including it for transitive dependencies. Doing so is problematic from include-what-you-use perspective, but it is also a layering issue (it creates a dependency cycle between the primary Hexagon target library and the MCTargetDesc library). llvm-svn: 362384
OpenPOWER on IntegriCloud