summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Temporarily revert "[PowerPC] Allow tail calls of fastcc functions from C ↵Eric Christopher2017-12-072-13/+8
| | | | | | | | | | CallingConv functions." It is causing sanitizer failures on llvm tests in a bootstrapped compiler. No bot link since it's currently down, but following up to get the bot up. This reverts commit r319218. llvm-svn: 320106
* Test case update for D40873Xinliang David Li2017-12-071-2/+2
| | | | llvm-svn: 320105
* [PGO] detect infinite loop and form MST properlyXinliang David Li2017-12-076-38/+56
| | | | | | Differential Revision: http://reviews.llvm.org/D40873 llvm-svn: 320104
* [Analysis] Fix some Clang-tidy modernize and Include What You Use warnings; ↵Eugene Zelenko2017-12-075-374/+442
| | | | | | other minor fixes (NFC). llvm-svn: 320091
* [MachineOutliner] Fix offset overflow checkJessica Paquette2017-12-072-4/+9
| | | | | | | | | | | | The offset overflow check before was incorrect. It would always give the correct result, but it was comparing the SCALED potential fixed-up offset against an UNSCALED minimum/maximum. As a result, the outliner was missing a bunch of frame setup/destroy instructions that ought to have been safe to outline. This fixes that, and adds an instruction to the .mir test that failed the old test. llvm-svn: 320090
* Add new language mode flags for C17.Aaron Ballman2017-12-077-876/+901
| | | | | | This adds -std=c17, -std=gnu17, and -std=iso9899:2017 as language mode flags for C17 and updates the value of __STDC_VERSION__ to the value based on the C17 FDIS. Given that this ballot cannot succeed until 2018, it is expected that we (and GCC) will add c18 flags as aliases once the ballot passes. llvm-svn: 320089
* Add support for the __has_c_attribute builtin preprocessor macro.Aaron Ballman2017-12-075-1913/+1965
| | | | | | This behaves similar to the __has_cpp_attribute builtin macro in that it allows users to detect whether an attribute is supported with the [[]] spelling syntax, which can be enabled in C with -fdouble-square-bracket-attributes. llvm-svn: 320088
* [AMDGPU] Fix typo in Kernel Descriptor for GFX6-GFX9Mark Searles2017-12-071-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D40981 llvm-svn: 320087
* [AMDGPU] Revert "[AMDGPU] Add options for waitcnt pass debugging; add instr ↵Mark Searles2017-12-072-103/+8
| | | | | | | | | | | | | | count in debug output." Patch caused a buildbot failure; http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/15733/steps/build_Lld/logs/stdio : lib/Target/AMDGPU/SIInsertWaitcnts.cpp:396:11: error: private field 'InstCnt' is not used [-Werror,-Wunused-private-field] int32_t InstCnt = 0; ^ 1 error generated. " This reverts commit 71627f79010aafe74fdcba901bba28dd7caa0869. llvm-svn: 320086
* [libclang] Record code-completion invocations to a temporary file whenAlex Lorenz2017-12-077-4/+52
| | | | | | | | | | | | | requested by client This is a follow up to r319702 which records parsing invocations. These files are not emitted by default, and the client has to specify the invocation emission path first. rdar://35322543 llvm-svn: 320085
* [AMDGPU] Add options for waitcnt pass debugging; add instr count in debug ↵Mark Searles2017-12-072-8/+103
| | | | | | | | | | | | | output. -amdgpu-waitcnt-forcezero={1|0} Force all waitcnt instrs to be emitted as s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) -amdgpu-waitcnt-forceexp=<n> Force emit a s_waitcnt expcnt(0) before the first <n> instrs -amdgpu-waitcnt-forcelgkm=<n> Force emit a s_waitcnt lgkmcnt(0) before the first <n> instrs -amdgpu-waitcnt-forcevm=<n> Force emit a s_waitcnt vmcnt(0) before the first <n> instrs Differential Revision: https://reviews.llvm.org/D40091 llvm-svn: 320084
* [AMDGPU] Add GCNHazardRecognizer::checkInlineAsmHazards() and ↵Mark Searles2017-12-073-17/+88
| | | | | | | | GCNHazardRecognizer::checkVALUHazardsHelper(). checkInlineAsmHazards() checks INLINEASM for hazards that we particularly care about (so not exhaustive); this patch adds a check for INLINEASM that defs vregs that hold data-to-be stored by immediately preceding store of more than 8 bytes. If the instr were not within an INLINEASM, this scenario would be handled by checkVALUHazard(). Add checkVALUHazardsHelper(), which will be called by both checkVALUHazards() and checkInlineAsmHazards(). Differential Revision: https://reviews.llvm.org/D40098 llvm-svn: 320083
* [OpenMP] NVPTX: Set default/minimum compute capability to sm_35George Rokos2017-12-071-6/+7
| | | | | | | | | The current implementation of the nvptx runtime (to be upstreamed shortly) uses the atomicMax operation on 64-bit integers. This is only supported in compute capabilities 3.5 and later. I've changed the clang default to sm_35. Differential Revision: https://reviews.llvm.org/D40977 llvm-svn: 320082
* [X86] Fix InsertBitToMaskVector to only issue KSHIFTS of native size so that ↵Craig Topper2017-12-074-219/+167
| | | | | | | | | | | | upper bits are properly zeroed. There's no v2i1 or v4i1 kshift, and v8i1 is only supported with AVXDQ. Isel has fake patterns to extend these types to native shifts, but makes no guarantees about the value of any bits shifted in when shifting right. This patch promotes the vector to a type that supports a native shift first and only allows inserting into the msb of a native sized shift. I've constructed this in a way that doesn't do the promotion if we're going to fallback to using a xmm/ymm/zmm shuffle. I think I have a plan to remove the shuffle fall back entirely. In which case we this can be simplified, but I wanted to fix the correctness issue first. llvm-svn: 320081
* [X86] Fix typo in variable name. NFCCraig Topper2017-12-071-4/+4
| | | | llvm-svn: 320080
* [X86] Make a couple helper lowering methods static.Craig Topper2017-12-072-7/+4
| | | | llvm-svn: 320079
* [OPENMP] Do not capture private variables in the target regions.Alexey Bataev2017-12-076-28/+28
| | | | | | | | Private variables are completely redefined in the outlined regions, so we don't need to capture them. Patch adds this behavior to the target-based regions. llvm-svn: 320078
* These tests don't depend on debug info format.Jim Ingham2017-12-071-0/+2
| | | | | | Mark them as such. llvm-svn: 320077
* Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB"Adrian Prantl2017-12-075-6/+6
| | | | | | | | This reverts commit 319790. We worked around the bug in LLVM instead. llvm-svn: 320076
* update hwasan docsKostya Serebryany2017-12-071-8/+24
| | | | | | | | | | | | | | | | Summary: * use more readable name * document the hwasan attribute Reviewers: eugenis Reviewed By: eugenis Subscribers: llvm-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D40938 llvm-svn: 320075
* [clangd-fuzzer] Update contruction of LSPServer.Matt Morehouse2017-12-071-1/+4
| | | | | | | The constructor for ClangdLSPServer changed in r318412 and r318925, breaking the clangd-fuzzer build. llvm-svn: 320074
* [driver] Set the 'simulator' environment for Darwin when compiling forAlex Lorenz2017-12-0710-30/+34
| | | | | | | | | | iOS/tvOS/watchOS simulator rdar://35135215 Differential Revision: https://reviews.llvm.org/D40682 llvm-svn: 320073
* Further simplify .gnu.hash writing. NFC.Rafael Espindola2017-12-071-12/+10
| | | | llvm-svn: 320072
* Disable warnings related to anonymous types in the ObjC pluginVedant Kumar2017-12-073-1/+24
| | | | | | | | | | | This part of lldb make use of anonymous structs and unions. The usage is idiomatic and doesn't deserve a warning. Logic in the NSDictionary and NSSet plugins use anonymous structs in a manner consistent with the relevant Apple frameworks. Differential Revision: https://reviews.llvm.org/D40757 llvm-svn: 320071
* Simplify .gnu.hash writing. NFC.Rafael Espindola2017-12-071-9/+6
| | | | llvm-svn: 320070
* Avoid using a temporary std::vector.Rafael Espindola2017-12-071-15/+15
| | | | | | | With this memory usage when linking clang goes from 174.62MB to 172.77MB. llvm-svn: 320069
* [InstCombine] add tests for abs using bit hackery; NFCSanjay Patel2017-12-071-21/+103
| | | | llvm-svn: 320068
* [SBBreakpointOptionCommon] Give this class an explicit destructor.Davide Italiano2017-12-072-0/+3
| | | | llvm-svn: 320067
* [SBBreakpoint] Outline some functions to prevent to be exported.Davide Italiano2017-12-071-51/+44
| | | | | | | | | | They're hidden, so all they cause is a linker warning. ld: warning: cannot export hidden symbol lldb::SBBreakpointNameImpl::operator==(lldb::SBBreakpointNameImpl const&) from tools/lldb/source/API/CMakeFiles/liblldb.dir/SBBreakpointName.cpp.o llvm-svn: 320066
* [X86] Replace tabs with spaces. NFCI.Simon Pilgrim2017-12-071-12/+12
| | | | llvm-svn: 320065
* [X86] Tag BMI/BMI2/TBM instructions scheduler classesSimon Pilgrim2017-12-074-96/+100
| | | | | | Put these under UNARY/BINOP ALU itinerary classes for now - seems to be a good average value llvm-svn: 320064
* [Hexagon] Generate HVX code for basic arithmetic operationsKrzysztof Parzyszek2017-12-075-30/+415
| | | | | | Handle and, or, xor, add, sub, mul for vectors of i8, i16, and i32. llvm-svn: 320063
* [X86][TBM] Add TBM scheduling testsSimon Pilgrim2017-12-071-0/+485
| | | | llvm-svn: 320062
* [CodeGen] Fix index when printing tied machine operandsFrancis Visoiu Mistrih2017-12-071-3/+3
| | | | llvm-svn: 320061
* [Target] Remove commented out code. Found by inspection. NFCI.Davide Italiano2017-12-071-129/+0
| | | | llvm-svn: 320060
* [X86] Rename function in recently added test case to not be 'main' returning ↵Craig Topper2017-12-071-2/+2
| | | | | | 'void'. NFC llvm-svn: 320059
* Fix the test from r320056 on WindowsAlexander Richardson2017-12-071-4/+4
| | | | llvm-svn: 320058
* [DebugInfo] Move this test to X86/ now that it specifies a triple.Davide Italiano2017-12-071-0/+0
| | | | | | Should bring back the arm/arm64 bots. Reported by Yvan Roux. llvm-svn: 320057
* [ELF][mips] Print the full file path for files with incompatible ISAAlexander Richardson2017-12-072-16/+28
| | | | | | | | | | | | | | | | | | Summary: I also changed the message to print both the ISA and the the architecture name for incompatible files. Previously it would be quite hard to find the actual path of the incompatible object files in projects that have many object files with the same name in different directories. Reviewers: atanasyan, ruiu Reviewed By: atanasyan Subscribers: emaste, sdardis, llvm-commits Differential Revision: https://reviews.llvm.org/D40958 llvm-svn: 320056
* [X86] Tag SALC instructions scheduler classSimon Pilgrim2017-12-072-11/+11
| | | | | | Treat these the same as LAHF/SAHF (although its not a x86_64 instruction) llvm-svn: 320055
* [X86] Add LAHF/SAHF scheduling testSimon Pilgrim2017-12-071-3/+83
| | | | llvm-svn: 320054
* [X86][VMX] Tag VMX instructions scheduler classesSimon Pilgrim2017-12-072-21/+32
| | | | | | Tagged all as system instructions llvm-svn: 320053
* [X86] Add SALC scheduling testSimon Pilgrim2017-12-071-0/+74
| | | | llvm-svn: 320052
* [X86] Tag LZCNT/TZCNT instructions scheduler classesSimon Pilgrim2017-12-074-42/+52
| | | | | | Tagged as IMUL instructions for a reasonable approximation (ALU tends to be a lot faster) - POPCNT is currently tagged as FAdd which I think should be replaced with IMUL as well llvm-svn: 320051
* [DAGCombiner] eliminate shuffle of insert elementSanjay Patel2017-12-075-132/+181
| | | | | | | | | | | | | | | | | | | I noticed this pattern in D38316 / D38388. We failed to combine a shuffle that is either repeating a scalar insertion at the same position in a vector or translated to a different element index. Like the earlier patch, this could be an instcombine too, but since we opted to make this a DAG transform earlier, I've made this one a DAG patch too. We do not need any legality checking because the new insert is identical to the existing insert except that it may have a different constant insertion operand. The constant insertion test in test/CodeGen/X86/vector-shuffle-combining.ll was the motivation for D38756. Differential Revision: https://reviews.llvm.org/D40209 llvm-svn: 320050
* [InstCombine] Don't crash on out of bounds index in the insertelementIgor Laevsky2017-12-073-2/+14
| | | | | | Differential Revision: https://reviews.llvm.org/D40390 llvm-svn: 320049
* [X86][FMA] Regenerate fma schedule testsSimon Pilgrim2017-12-071-128/+128
| | | | llvm-svn: 320048
* [X86][SVM] Tag SVM instructions scheduler classesSimon Pilgrim2017-12-072-11/+15
| | | | | | Tagged all as system instructions llvm-svn: 320047
* [CodeGen] Use more getMFIfAvailableFrancis Visoiu Mistrih2017-12-071-16/+8
| | | | llvm-svn: 320046
* [X86] Tag RDRAND/RDSEED instruction scheduler classesSimon Pilgrim2017-12-074-41/+47
| | | | llvm-svn: 320045
OpenPOWER on IntegriCloud