summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [NFC] Move isUnwinding check into ScopedUnwindingVitaly Buka2019-03-051-6/+19
| | | | llvm-svn: 355380
* [LangRef] Add 'callbr' instruction to the 'blockaddress' section.Craig Topper2019-03-051-6/+6
| | | | llvm-svn: 355379
* [PowerPC] fix killed/dead flag after convert x-form to d-form tranformation.Chen Zheng2019-03-054-22/+343
| | | | | | Differential Revision: https://reviews.llvm.org/D58428 llvm-svn: 355378
* [NFC] Move ScopedUnwinding from .h to .ccVitaly Buka2019-03-052-12/+14
| | | | llvm-svn: 355377
* [NFC] Reorder ifs in BufferedStackTrace::UnwindImplVitaly Buka2019-03-051-12/+16
| | | | llvm-svn: 355376
* [Expression] Remove unused parameter from EvaluateAlex Langford2019-03-054-13/+7
| | | | llvm-svn: 355375
* [ARM][MC] Update one test case in 'test/MC/Disassembler/ARM/invalid-armv7.txt'Xing GUO2019-03-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Instruction `[0xfe 0xf0 0x20 0xe3]` is a valid instruction on ARM-v7, which is `dbg #14`. See: https://www.cl.cam.ac.uk/research/srg/han/ACS-P35/zynq/ARMv7-A-R-manual.pdf (Page: 377) ``` Encoding A1: DBG<c> #<option> |31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16|15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00| | cond | 0 0 1 1 0| 0| 1 0| 0 0 0 0| 1 1 1 1| 0 0 0 0| 1 1 1 1| option | ``` Reviewers: fhahn, efriedma Reviewed By: efriedma Subscribers: javed.absar, kristof.beyls, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58873 llvm-svn: 355374
* [AMDGPU] Implement AMDGPUMCInstrAnalysisScott Linder2019-03-053-0/+75
| | | | | | | | | Implement MCInstrAnalysis for AMDGPU, with default implementations save for `evaluateBranch`. Differential Revision: https://reviews.llvm.org/D58400 llvm-svn: 355373
* [NFC] Return on SANITIZER_MIPS && !IsValidFrameVitaly Buka2019-03-051-6/+6
| | | | llvm-svn: 355372
* [NFC] Put bp into Unwind(.. false) for consistencyVitaly Buka2019-03-051-2/+2
| | | | | | It's not used there anyway llvm-svn: 355371
* [NFC] Move asan_inited and size reset on top of ::UnwindImplVitaly Buka2019-03-051-16/+16
| | | | llvm-svn: 355370
* Revert "[NFC][Sanitizer] Cleanup ASan's GetStackTrace implementation"Vitaly Buka2019-03-052-19/+19
| | | | | | | | I've missed that UnwindSlow was removed from ScopedUnwinding. This reverts commit 4ce918e3942f0333ccb7d65d6265f4fc5f5324be. llvm-svn: 355369
* Replace clang::FileData with llvm::vfs::StatusHarlan Haskins2019-03-056-102/+65
| | | | | | | | | | | | | | | | Summary: FileData was only ever used as a container for the values in llvm::vfs::Status, so they might as well be consolidated. The `InPCH` member was also always set to false, and unused. Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58924 llvm-svn: 355368
* Fix -fsanitize=vptr badness in <__debug>Eric Fiselier2019-03-058-16/+52
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch fixes a lifetime bug when inserting a new container into the debug database. It is diagnosed by UBSAN when debug mode is enabled. This patch corrects how nodes are constructed during insertion. The fix requires unconditionally breaking the debug mode ABI. Users should not expect ABI stability from debug mode. Reviewers: ldionne, serge-sans-paille, EricWF Reviewed By: EricWF Subscribers: mclow.lists, christof, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D58011 llvm-svn: 355367
* Make VCRuntime ABI configuration a first-class option.Eric Fiselier2019-03-058-24/+24
| | | | | | | | | | | | | | | | | | | | | | | Summary: On Windows we currently provide two separate ABI configurations. One which defers to `vcruntime` to provide the C++ runtime and another which doesn't. Using `vcruntime` allows interoperability which programs compiled against the MSVC STL, and should be preferred whenever possible. When deferring to `vcruntime` much of the ABI we provide changes. Including the layout of `<stdexcept>` types, their vtables, and how the linkage of their members. This patch introduces the `_LIBCPP_ABI_VCRUNTIME` macro to denote this configuration. It also cleans up the existing configuration for using `vcruntime`. This cleanup lays the groundwork for fixing a number of ABI and interoperability bugs in `<stdexcept>`. Reviewers: thomasanderson, ldionne, smeenai Reviewed By: smeenai Subscribers: jdoerfert, libcxx-commits, #libc Differential Revision: https://reviews.llvm.org/D58942 llvm-svn: 355366
* [clang-format][docs][NFC] Fix example for Allman brace breaking styleJan Korous2019-03-051-6/+15
| | | | | | | | | | | | | I assume the example is wrong as it's clearly missing line-breaks before braces. I just ran the example through clang-format with .clang-format like this: BreakBeforeBraces: Allman Differential Revision: https://reviews.llvm.org/D58941 llvm-svn: 355365
* Revert "[testsuite] Port crashlog and dependencies to Python 3."Davide Italiano2019-03-053-130/+117
| | | | | | | This revert the commit because it broke the bots. I need to find a way that works with both versions. llvm-svn: 355364
* Revert compiler-rt diffs for order file instrumentation to get bot green!Manman Ren2019-03-0510-169/+0
| | | | | | | | This caused issues on Linux/Windows and other platforms. r355343 355350 355350 llvm-svn: 355363
* PHI nodes are not `FPMathOperator` sSanjoy Das2019-03-053-2/+11
| | | | | | | | | | | | | | Reviewers: chandlerc, arsenm Reviewed By: arsenm Subscribers: wdng, arsenm, mcrosier, jlebar, bixia, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58887 llvm-svn: 355362
* [X86] Reduce some patterns by using FP instructions for integer types even ↵Craig Topper2019-03-051-61/+9
| | | | | | | | | | | | when AVX2 is available and execution domain fixing will do the right thing We have quite a few cases of using FP instructions for integer operations when only AVX1 is available. Then we switch to integer instructions with AVX2. In a lot of these cases execution domain fixing will take care of turning FP instructions into integer if its profitable. With this patch we just keep on using the FP instructions even with AVX2. I've only handled some cases that don't require messing with patterns that are defined in the instruction definition. Those will require more subtle multiclass work possibly involving null_frag, hasSideEffects = 0, etc. Differential Revision: https://reviews.llvm.org/D58470 llvm-svn: 355361
* [BPF] Do not generate BTF sections unnecessarilyYonghong Song2019-03-0532-331/+30
| | | | | | | | | | | | If There is no types/non-empty strings, do not generate .BTF section. If there is no func_info/line_info, do not generate .BTF.ext section. Signed-off-by: Yonghong Song <yhs@fb.com> Differential Revision: https://reviews.llvm.org/D58936 llvm-svn: 355360
* [testsuite] Port crashlog and dependencies to Python 3.Davide Italiano2019-03-053-117/+130
| | | | | | Fixes three tests in the testsuite. llvm-svn: 355359
* Fix the Xcode project for UserIDResolver.Jim Ingham2019-03-051-5/+11
| | | | llvm-svn: 355358
* Attemp to fix windows profile-rt build breakage.Manman Ren2019-03-051-0/+1
| | | | | | Followup to D57530. llvm-svn: 355357
* [lldbtest] Check against the correct name for libcxxabi (macOS).Davide Italiano2019-03-051-1/+1
| | | | llvm-svn: 355356
* [NFC][Sanitizer] Cleanup ASan's GetStackTrace implementationJulian Lettner2019-03-052-19/+19
| | | | | | | | | | | | | | | | | | | | | Cleanup ASan's __sanitizer::BufferedStackTrace::UnwindImpl (formerly GetStackTrace) implementation. Start with ASan because it is the most complex implementation. GetStackTrace implementations seem to have started out as exact copies of the original implementation in ASan, but have diverged in subtle ways. My goal is to parameterize this algorithm (via templating or callbacks) so we can share the implementation and get rid of the inversed dependency (sanitizer_common depends on concrete implementations in asan, ubsan, etc.). This should also help us to avoid those pesky linker errors caused by undefined, duplicate, and weak symbols on Windows. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D58861 llvm-svn: 355355
* [cmake] Create exports for umbrella library targetsShoaib Meenai2019-03-052-0/+3
| | | | | | | | | | When using the umbrella llvm-libraries and clang-libraries targets, we should export all library targets, otherwise they'll be part of our distribution but not usable from the CMake package. Differential Revision: https://reviews.llvm.org/D58862 llvm-svn: 355354
* [Host] Fix the build (and the modules build).Davide Italiano2019-03-052-0/+4
| | | | | | | -> Add a missing include to find the base class. -> Add a missing out-of-line declaration for a member function. llvm-svn: 355353
* Revert "[DataFormatters] Fix regression in libc++ std::atomic formatter ↵Shafik Yaghmour2019-03-051-27/+5
| | | | | | | | caused by https://reviews.llvm.org/D56913" This reverts commit r355351. llvm-svn: 355352
* [DataFormatters] Fix regression in libc++ std::atomic formatter caused by ↵Shafik Yaghmour2019-03-051-5/+27
| | | | | | | | https://reviews.llvm.org/D56913 rdar://problem/48568543 llvm-svn: 355351
* Attemp to fix build brokage due to D57530.Manman Ren2019-03-043-0/+11
| | | | | | By adding implementations for __llvm_profile_begin_orderfile for non-Darwin platforms. llvm-svn: 355350
* Fix invalid target triples in tests. (NFC)Florian Hahn2019-03-046-8/+8
| | | | llvm-svn: 355349
* [msan] Instrument x86 BMI intrinsics.Evgeniy Stepanov2019-03-043-1/+325
| | | | | | | | | | | | | | | | Summary: They simply shuffle bits. MSan needs to do the same with shadow bits, after making sure that the shuffle mask is fully initialized. Reviewers: pcc, vitalybuka Subscribers: hiraditya, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58858 llvm-svn: 355348
* [sanitizer] Intercept bzero.Evgeniy Stepanov2019-03-044-2/+44
| | | | | | | | | | | | | | | | Summary: Intercept bzero and enable existing __bzero interceptor in Linux. bzero is deprecated but still used occasionally. Reviewers: vitalybuka Subscribers: srhines, kubamracek, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58850 llvm-svn: 355347
* [NFC] Fix PGO link error in shared libs buildJordan Rupprecht2019-03-042-7/+9
| | | | llvm-svn: 355346
* [CodeGenPrepare] avoid crashing on non-canonical/degenerate codeSanjay Patel2019-03-042-0/+30
| | | | | | | | | | | | The test is reduced from an example in the post-commit thread for: rL354746 http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190304/632396.html While we must avoid dying here, the real question should be: Why is non-canonical and/or degenerate code making it to CGP when using the new pass manager? llvm-svn: 355345
* [GlobalISel][AArch64] Add selection support for G_EXTRACT_VECTOR_ELTJessica Paquette2019-03-045-18/+332
| | | | | | | | | | | | | This adds instruction selection support for G_EXTRACT_VECTOR_ELT for cases where the index is defined by a G_CONSTANT. It also factos out the lane copy opcode selection part into its own function, `getLaneCopyOpcode`. This is used by both `selectUnmergeValues` and `selectExtractElt`. Differential Revision: https://reviews.llvm.org/D58469 llvm-svn: 355344
* Order File Instrumentation: dump the data in compiler-rtManman Ren2019-03-047-0/+157
| | | | | | | | The profile data will be dumped in a file default_xxx.profraw.order. Differential Revision: https://reviews.llvm.org/D57530 llvm-svn: 355343
* Move ProcessInfo from Host to Utility.Zachary Turner2019-03-0432-579/+621
| | | | | | | | | | | | | | | | | | | | | There are set of classes in Target that describe the parameters of a process - e.g. it's PID, name, user id, and similar. However, since it is a bare description of a process and contains no actual functionality, there's nothing specifically that makes this appropriate for being in Target -- it could just as well be describing a process on the host, or some hypothetical virtual process that doesn't even exist. To cement this, I'm moving these classes to Utility. It's possible that we can find a better place for it in the future, but as it is neither Host specific nor Target specific, Utility seems like the most appropriate place for the time being. After this there is only 2 remaining references to Target from Host, which I'll address in a followup. Differential Revision: https://reviews.llvm.org/D58842 llvm-svn: 355342
* [build.py] Allow clang-cl to build files starting with '/U'Alex Langford2019-03-041-0/+2
| | | | | | | | | | | | | | | | | | Summary: clang-cl tries to match cl's interface, and treats /U as "Removes a predefined macro" as cl does. When you feed clang-cl a file that begins with '/U' (e.g. /Users/xiaobai/foo.c), clang-cl will emit a warning and in some cases an error, like so: clang-9: warning: '/Users/xiaobai/foo.c' treated as the '/U' option [-Wslash-u-filename] clang-9: note: Use '--' to treat subsequent arguments as filenames clang-9: error: no input files If you're using clang-cl, make sure '--' is passed before the source file. Differential Revision: https://reviews.llvm.org/D58860 llvm-svn: 355341
* [build] Rename clang-headers to clang-resource-headersShoaib Meenai2019-03-0423-37/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The current install-clang-headers target installs clang's resource directory headers. This is different from the install-llvm-headers target, which installs LLVM's API headers. We want to introduce the corresponding target to clang, and the natural name for that new target would be install-clang-headers. Rename the existing target to install-clang-resource-headers to free up the install-clang-headers name for the new target, following the discussion on cfe-dev [1]. I didn't find any bots on zorg referencing install-clang-headers. I'll send out another PSA to cfe-dev to accompany this rename. [1] http://lists.llvm.org/pipermail/cfe-dev/2019-February/061365.html Reviewers: beanz, phosek, tstellar, rnk, dim, serge-sans-paille Subscribers: mgorny, javed.absar, jdoerfert, #sanitizers, openmp-commits, lldb-commits, cfe-commits, llvm-commits Tags: #clang, #sanitizers, #lldb, #openmp, #llvm Differential Revision: https://reviews.llvm.org/D58791 llvm-svn: 355340
* [GlobalISel][AArch64] Legalize vector G_SELECTJessica Paquette2019-03-042-1/+73
| | | | | | | | Just scalarize it, and add a test showing it works. Differential Revision: https://reviews.llvm.org/D58747 llvm-svn: 355339
* Fix wrong enum value in switch.Evgeniy Stepanov2019-03-041-1/+1
| | | | llvm-svn: 355338
* [ConstantHoisting] avoid hang/crash from unreachable blocks (PR40930)Sanjay Patel2019-03-042-7/+92
| | | | | | | | | | | | | | | | | I'm not too familiar with this pass, so there might be a better solution, but this appears to fix the degenerate: PR40930 PR40931 PR40932 PR40934 ...without affecting any real-world code. As we've seen in several other passes, when we have unreachable blocks, they can contain semi-bogus IR and/or cause unexpected conditions. We would not typically expect these patterns to make it this far, but we have to guard against them anyway. llvm-svn: 355337
* [libc++] Remove old CMake workaroundLouis Dionne2019-03-041-20/+14
| | | | | | | We haven't had any complaints so far, and I don't think anybody builds libc++ from source for that old platform anymore. llvm-svn: 355336
* Install GCC 5 on buildbots to replace GCC 4.9.Eric Fiselier2019-03-041-3/+3
| | | | | | | | | | | LLVM is dropping support for GCC 4.9. This patch adds a GCC 5 installation to the buildbot image so we can upgrade the 4.9 bot to GCC 5. As a temporary workaround until zorg updates, we install GCC 5 as GCC 4.9. llvm-svn: 355334
* Order File Instrumentation: add clang support for -forder-file-instrumentationManman Ren2019-03-044-1/+22
| | | | | | | | When -forder-file-instrumentation is on, we pass llvm flag to enable the order file instrumentation pass. https://reviews.llvm.org/D58751 llvm-svn: 355333
* [ASTImporter] Handle built-in when importing SourceLocation and FileIDShafik Yaghmour2019-03-042-23/+28
| | | | | | | | | Summary: Currently when we see a built-in we try and import the include location. Instead what we do now is find the buffer like we do for the invalid case and copy that over to the to context. Differential Revision: https://reviews.llvm.org/D58743 llvm-svn: 355332
* [PGO] Clang part of change for context-sensitive PGO (part1)Rong Xu2019-03-048-22/+191
| | | | | | | | | | Part 1 of CSPGO change in Clang. This includes changes in clang options and calls to llvm PassManager. Tests will be committed in part2. This change needs the PassManager change in llvm. Differential Revision: https://reviews.llvm.org/D54176 llvm-svn: 355331
* [PGO] Context sensitive PGO (part 3)Rong Xu2019-03-048-66/+203
| | | | | | | | Part 3 of CSPGO changes (mostly related to PassMananger). Differential Revision: https://reviews.llvm.org/D54175 llvm-svn: 355330
OpenPOWER on IntegriCloud