summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [DAG] add convenience function to propagate FMF; NFCSanjay Patel2018-05-112-8/+15
| | | | | | | | | There's only one use of this currently, but that could change with D46563. Either way, we shouldn't have to update code outside of the flags struct when those flag definitions change. llvm-svn: 332155
* AMDGPU/GlobalISel: Implement select() for >32-bit G_STORETom Stellard2018-05-113-5/+47
| | | | | | | | | | Reviewers: arsenm, nhaehnle Subscribers: kzhuravl, wdng, yaxunl, rovka, kristof.beyls, dstuttard, tpr, llvm-commits, t-tye Differential Revision: https://reviews.llvm.org/D46153 llvm-svn: 332154
* [MemorySSA] getIncomingValueForBlock should return a MemoryAccess.Alina Sbirlea2018-05-111-1/+1
| | | | | | | | | | | | Summary: getIncomingValueForBlock is just a wrapper API that should return a MemoryAccess, instead of a generic Value. Reviewers: george.burgess.iv Subscribers: sanjoy, jlebar, Prazek, llvm-commits Differential Revision: https://reviews.llvm.org/D46779 llvm-svn: 332153
* [clang-tidy] Fixing fuchsia-restrict-includes-headers testJulie Hockett2018-05-111-3/+3
| | | | | | Removing filepaths so windows tests pass. llvm-svn: 332152
* [CodeExtractor] Allow extracting blocks with exception handlingSergey Dmitriev2018-05-114-37/+203
| | | | | | | | | | | | | | | | | This is a CodeExtractor improvement which adds support for extracting blocks which have exception handling constructs if that is legal to do. CodeExtractor performs validation checks to ensure that extraction is legal when it finds invoke instructions or EH pads (landingpad, catchswitch, or cleanuppad) in blocks to be extracted. I have also added an option to allow extraction of blocks with alloca instructions, but no validation is done for allocas. CodeExtractor caller has to validate it himself before allowing alloca instructions to be extracted. By default allocas are still not allowed in extraction blocks. Differential Revision: https://reviews.llvm.org/D45904 llvm-svn: 332151
* [DAG] clean up flag propagation for binops; NFCISanjay Patel2018-05-112-36/+22
| | | | llvm-svn: 332150
* COFF: Add a flag for disabling string tail merging.Peter Collingbourne2018-05-114-2/+27
| | | | | | | | | | | We discovered (crbug.com/838449#c24) that string tail merging can negatively affect compressed binary size, so provide a flag to turn it off for users who care more about compressed size than uncompressed size. Differential Revision: https://reviews.llvm.org/D46780 llvm-svn: 332149
* Overhaul unicode handling in xunit outputChris Matthews2018-05-111-6/+10
| | | | | | | I have seen a lot of errors where the xunit does not encode unicode test output correctly. Handle that explicitly now. llvm-svn: 332148
* AMDGPU/SI: Don't promote alloca to vector for AddrSpaceCast instruction.Changpeng Fang2018-05-112-1/+27
| | | | | | | | | | | | | Summary: We have no logic to promote alloca to vector for an AddrSpaceCast instruction. Reviewer: arsenm Differential Revision: https://reviews.llvm.org/D45993 llvm-svn: 332147
* [X86] Remove and autoupgrade a bunch of FMA instrinsics that are no longer ↵Craig Topper2018-05-118-379/+95
| | | | | | used by clang. llvm-svn: 332146
* [libFuzzer] [NFC] Split fuzzer.test into smaller testsGeorge Karpenkov2018-05-1113-71/+65
| | | | | | | | | | | | | | | | | | | | | Keeping fuzzer.test together as a gigantic test has no advantages and multiple disadvantages: - Worse test parallelization (fuzzer.test is always blocking the test run on a machine with many cores) - Debugging test failures is made more difficult (not clear what fails from fuzzer.test failing) - Makes porting tests to new platforms more difficult (whenever fuzzer.test fails have to inspect the output to figure out what is going on, and then restart all of it) - Hides dead code (in our case, "Done1000000" FileCheck variable was never used, DISABLED: not %t-UninstrumentedTest-Uninstrumented was never compiled, and there was small amount of duplication vs. simple-cmp.test) - Makes correspondence between LIT .test files and .cpp files less straightforward Differential Revision: https://reviews.llvm.org/D46557 llvm-svn: 332145
* [libFuzzer] [NFC] Prefix all run lines with %runGeorge Karpenkov2018-05-1175-168/+167
| | | | | | | | | | This patch does not do anything, but paves the way for future changes, where %run command will be expanded into a script performing the testing on device. Differential Revision: https://reviews.llvm.org/D46553 llvm-svn: 332144
* [clang-tidy] Cleaning up test output (fuchsia-restrict-system-includes)Julie Hockett2018-05-111-8/+9
| | | | | | | This should fix the break in the fuchsia-restrict-system-includes-headers test. llvm-svn: 332143
* [Split GEP] handle trunc() in separate-const-offset-from-gep pass.Artem Belevich2018-05-113-16/+42
| | | | | | | | | | | Let separate-const-offset-from-gep pass handle trunc() when it calculates constant offset relative to base. The pass itself may insert trunc() instructions when it canonicalises array indices to pointer-size integers and needs to handle trunc() in order to evaluate the offset. Differential Revision: https://reviews.llvm.org/D46732 llvm-svn: 332142
* Reland "[clang-tidy] Adding RestrictSystemIncludes check to Fuchsia module"Julie Hockett2018-05-1120-2/+282
| | | | | | This relands r332125 with a fixed test. llvm-svn: 332141
* Conditionally compile a Darwin-only test.Adrian Prantl2018-05-111-0/+2
| | | | llvm-svn: 332140
* Update input file in testRumeet Dhindsa2018-05-111-1/+1
| | | | llvm-svn: 332139
* [Driver] Only use -lc++ on FuchsiaPetr Hosek2018-05-112-4/+2
| | | | | | | | | The fact that libc++ depends on libc++abi and libunwind is an internal detail that's captured by the libc++.so linker script. Differential Revision: https://reviews.llvm.org/D46768 llvm-svn: 332138
* [AMDGPU] Fix compilation failure when IR contains comdatYaxun Liu2018-05-112-2/+19
| | | | | | | | | | | | | | | | | Remove a useless SwitchSection which also causes compilation failure when IR contains comdat. The SwitchSection is useless because the current section is already correct text section for the function therefore no need to switch. It causes compilation failure for comdat because functions with comdat has specific text section, not the default .text section. Since HIP uses comdat, this bug caused failures for HIP. Differential Revision: https://reviews.llvm.org/D46770 llvm-svn: 332137
* [analyzer] Ignore the nullability quantifiers for autoreleasewritecheckerGeorge Karpenkov2018-05-112-2/+9
| | | | llvm-svn: 332136
* [analyzer] Fix the filename for the exploration_order test.George Karpenkov2018-05-111-6/+9
| | | | | | Ensures that the test is being run. llvm-svn: 332135
* Update test to not check for output fileRumeet Dhindsa2018-05-111-2/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D46771 llvm-svn: 332134
* [DAG] reduce code duplication; NFCISanjay Patel2018-05-111-8/+7
| | | | llvm-svn: 332133
* [InstCombine] Handle atomic memset in the same way as regular memsetDaniel Neilson2018-05-113-9/+67
| | | | | | | | | | | | | | | | | | Summary: This change adds handling of the atomic memset intrinsic to the code path that simplifies the regular memset. In practice this means that we will now also expand a small constant-length atomic memset into a single unordered atomic store. Reviewers: apilipenko, skatkov, mkazantsev, anna, reames Reviewed By: reames Subscribers: reames, llvm-commits Differential Revision: https://reviews.llvm.org/D46660 llvm-svn: 332132
* Revert "[clang-tidy] Adding RestrictSystemIncludes check to Fuchsia module"Julie Hockett2018-05-1120-280/+2
| | | | | | This reverts commit r332125 for a failing test. llvm-svn: 332131
* [libclang] Stop assuming that the internal C++ ABI ↵Richard Smith2018-05-113-4/+38
| | | | | | ExceptionSpecificationType enumeration is the same as CXCursor_ExceptionSpecificationKind. llvm-svn: 332130
* [OPENMP, NVPTX] Do not use SPMD mode for target simd and target teamsAlexey Bataev2018-05-113-57/+43
| | | | | | | | | distribute simd directives. Directives `target simd` and `target teams distribute simd` must be executed in non-SPMD mode. llvm-svn: 332129
* Splitting thinlto.ll test file and renaming other test files.Rumeet Dhindsa2018-05-118-101/+183
| | | | | | Differential Revision: https://reviews.llvm.org/D46731 llvm-svn: 332128
* [PPC64] isRelExpr should return true for the PPC Call Exprs.Sean Fertile2018-05-112-1/+89
| | | | | | | | | Both R_PPC_CALL and R_PPC_CALL_PLT Exprs map to the R_PPC64_REL24 relocation which has the form Sym + addend - P. Differential Revision: https://reviews.llvm.org/D46654 llvm-svn: 332127
* Yet another follow-up to r332111. This also handles the case where anAdrian Prantl2018-05-112-12/+17
| | | | | | | LLDB.framework is built inside the LLDB build directory (but not inside an Xcode installation). llvm-svn: 332126
* [clang-tidy] Adding RestrictSystemIncludes check to Fuchsia moduleJulie Hockett2018-05-1120-2/+280
| | | | | | | | | | Adding a check to restrict system includes to a whitelist. Given a list of includes that are explicitly allowed, the check issues a fixit to remove any system include not on that list from the source file. Differential Revision: https://reviews.llvm.org/D43778 llvm-svn: 332125
* Move standard library inclusions to after internal inclusions.David Blaikie2018-05-111-3/+3
| | | | llvm-svn: 332124
* [HIP] Set proper triple and offload kind for the toolchainYaxun Liu2018-05-118-10/+71
| | | | | | | | Also introduce --hip-link option to indicate HIP for linking. Differential Revision: https://reviews.llvm.org/D46475 llvm-svn: 332123
* [HIP] Diagnose unsupported host tripleYaxun Liu2018-05-113-6/+12
| | | | | | Differential Revision: https://reviews.llvm.org/D46487 llvm-svn: 332122
* [HIP] Let clang-offload-bundler support HIPYaxun Liu2018-05-113-8/+20
| | | | | | | | | | When bundle/unbundle intermediate files for HIP, there may be multiple sub archs, therefore BoundArch needs to be included in the target and output file names for clang-offload-bundler. Differential Revision: https://reviews.llvm.org/D46473 llvm-svn: 332121
* Fix a regression in r332111. The LLDB.framework path component is notAdrian Prantl2018-05-112-2/+14
| | | | | | usually the last component. llvm-svn: 332120
* [DAGCombiner] Set the right SDLoc on extended SETCC uses (7/N)Vedant Kumar2018-05-113-30/+72
| | | | | | | | | | | | | | | | | | | | ExtendSetCCUses updates SETCC nodes which use a load (OriginalLoad) to reflect a simplification to the load (ExtLoad). Based on my reading, ExtendSetCCUses may create new nodes to extend a constant attached to a SETCC. It also creates fresh SETCC nodes which refer to any updated operands. ISTM that the location applied to the new constant and SETCC nodes should be the same as the location of the ExtLoad. This was suggested by Adrian in https://reviews.llvm.org/D45995. Part of: llvm.org/PR37262 Differential Revision: https://reviews.llvm.org/D46216 llvm-svn: 332119
* [DAGCombiner] Set the right SDLoc on a newly-created sextload (6/N)Vedant Kumar2018-05-1110-337/+404
| | | | | | | | | | | | | | | | This teaches tryToFoldExtOfLoad to set the right location on a newly-created extload. With that in place, the logic for performing a certain ([s|z]ext (load ...)) combine becomes identical for sexts and zexts, and we can get rid of one copy of the logic. The test case churn is due to dependencies on IROrders inherited from the wrong SDLoc. Part of: llvm.org/PR37262 Differential Revision: https://reviews.llvm.org/D46158 llvm-svn: 332118
* [DAGCombiner] Factor out duplicated logic for an extload combine, NFC (5/N)Vedant Kumar2018-05-111-38/+52
| | | | | | | | | | | | | | | | Part of the logic for combining (zext (load ...)) and (sext (load ...)) is duplicated. This creates problems because bugs in one version have to be fixed again in the other version. To address this, as a first step, I've extracted the duplicate logic into a helper. I'll fix the debug location bug in the helper and eliminate the copy of its logic in a followup. Part of: llvm.org/PR37262 Differential Revision: https://reviews.llvm.org/D46157 llvm-svn: 332117
* [LIT] replace output escapes wit a cdata blockChris Matthews2018-05-112-6/+4
| | | | | | | CDATA blocks don't need to have XML stuff escaped. Makes sense to wrap output in them instead of escaping. llvm-svn: 332116
* Add a lock to PlatformPOSIX::DoLoadImageFrederic Riss2018-05-114-49/+31
| | | | | | | | | | | | | | Summary: Multiple threads could be calling into DoLoadImage concurrently, only one should be allowed to create the UtilityFunction. Reviewers: jingham Subscribers: emaste, lldb-commits Differential Revision: https://reviews.llvm.org/D46733 llvm-svn: 332115
* [MachO] Don't write test files to /tmp, remove them afterwards.Martin Storsjo2018-05-111-5/+10
| | | | | | | | | This matches what is done in MachONormalizedFileBinaryWriterTests.cpp already. Differential Revision: https://reviews.llvm.org/D46743 llvm-svn: 332114
* make add_llvm_fuzzer calls slightly more consisten with other cmakeNico Weber2018-05-117-9/+21
| | | | llvm-svn: 332112
* HostInfoMacOSX: Share the clang resource directory with Swift.Adrian Prantl2018-05-114-7/+97
| | | | | | | | | | | | | Inside Xcode and in Xcode toolchains LLDB is always in lockstep with the Swift compiler, so it can reuse its Clang resource directory. This allows LLDB and the Swift compiler to share the same Clang module cache. rdar://problem/40039633 Differential Revision: https://reviews.llvm.org/D46736 llvm-svn: 332111
* [InstCombine] snprintf optimizationsDavid Bolvansky2018-05-113-0/+230
| | | | | | | | | | | | Reviewers: spatel, efriedma, majnemer, rja, bkramer Reviewed By: rja, bkramer Subscribers: mstorsjo, rja, llvm-commits Differential Revision: https://reviews.llvm.org/D46285 llvm-svn: 332110
* [X86][BtVer2] Model ymm move as double pumped instructionsSimon Pilgrim2018-05-113-22/+22
| | | | | | We still need to handle mmx/xmm moves as 'decode-only' no-pipe instructions llvm-svn: 332109
* [X86] Fix the file header name on fmaintrin.hCraig Topper2018-05-111-1/+1
| | | | llvm-svn: 332108
* [RISCV] Support .option rvc and norvc assembler directivesAlex Bradbury2018-05-1110-2/+260
| | | | | | | | | | These directives allow the 'C' (compressed) extension to be enabled/disabled within a single file. Differential Revision: https://reviews.llvm.org/D45864 Patch by Kito Cheng llvm-svn: 332107
* [Analysis] Validate the return type of s(n)printf like libcallsMartin Storsjo2018-05-112-2/+25
| | | | | | | | | | | | | | If the sprintf function is static (as on mingw-w64, where many stdio functions are static inline wrappers), earlier optimization passes could optimize out the return value altogether, and make it void, which could break optimizations of this libcall that touch the return value. This fixes the issue discussed in PR37408 for the sprintf function. Differential Revision: https://reviews.llvm.org/D46752 llvm-svn: 332106
* [Hexagon] Implement checking arguments of builtin callsKrzysztof Parzyszek2018-05-113-0/+254
| | | | llvm-svn: 332105
OpenPOWER on IntegriCloud