summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* typedef enum -> enumFangrui Song2019-05-1448-202/+172
| | | | | | | | Reviewed By: labath Differential Revision: https://reviews.llvm.org/D61883 llvm-svn: 360654
* Revert "FileCheck [5/12]: Introduce regular numeric variables"Thomas Preud'homme2019-05-1411-803/+152
| | | | | | | | This reverts r360578 (git e47362c1ec1ea31b626336cc05822035601c3e57) to solve the sphinx build failure on http://lab.llvm.org:8011/builders/llvm-sphinx-docs buildbot. llvm-svn: 360653
* [CMake] Correctly reinstate LLDB_CAN_USE_LLDB_SERVERPavel Labath2019-05-141-2/+2
| | | | | | | | | | | | | | | | | r360631 introduced a "syntax error" which meant that cmake was still not honoring the value of LLDB_CAN_USE_LLDB_SERVER variable. The correct syntax for seting an internal cache variable is "set(VAR value CACHE INTERNAL)", but the patch omitted the "CACHE" keyword. The "syntax error" is in quotes because without the CACHE keyword this is still valid syntax for setting the value of LLDB_CAN_USE_LLDB_SERVER to "1 INTERNAL". There doesn't seem to be a need for this to be a cache variable so I'm reverting this variable to a plain one, as it was before r360621. This will hopefully fix the windows build. llvm-svn: 360652
* Add guidelines/recommendations for organizers of LLVM SocialsAlex Denisov2019-05-142-0/+97
| | | | | | Differential Revision: https://reviews.llvm.org/D61550 llvm-svn: 360651
* [X86] Prefer locked stack op over mfence for seq_cst 64-bit stores on 32-bit ↵Philip Reames2019-05-143-5/+6
| | | | | | | | | | targets This is a follow on to D58632, with the same logic. Given a memory operation which needs ordering, but doesn't need to modify any particular address, prefer to use a locked stack op over an mfence. Differential Revision: https://reviews.llvm.org/D61863 llvm-svn: 360649
* [Object] Change ObjectFile::getSectionContents to return ↵Fangrui Song2019-05-1417-59/+58
| | | | | | | | | | | | | | | | | | | Expected<ArrayRef<uint8_t>> Change std::error_code getSectionContents(DataRefImpl, StringRef &) const; to Expected<ArrayRef<uint8_t>> getSectionContents(DataRefImpl) const; Many object formats use ArrayRef<uint8_t> as the underlying type, which is generally better than StringRef to represent binary data, so change the type to decrease the number of type conversions. Reviewed By: ruiu, sbc100 Differential Revision: https://reviews.llvm.org/D61781 llvm-svn: 360648
* gn build: add Hexagon targetDavid L. Jones2019-05-146-0/+248
| | | | | | Differential Revision: https://reviews.llvm.org/D61819 llvm-svn: 360647
* ARMDefines.h: fix -Wimplicit-fallthrough in -DLLVM_ENABLE_ASSERTIONS=OFF buildsFangrui Song2019-05-141-2/+3
| | | | | | | | Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D61844 llvm-svn: 360646
* gn build: add Sparc targetDavid L. Jones2019-05-146-0/+192
| | | | llvm-svn: 360645
* gn build: add Lanai targetDavid L. Jones2019-05-146-0/+190
| | | | llvm-svn: 360644
* [PowerPC][NFC] Fix typos in triplesJinsong Ji2019-05-144-7/+7
| | | | | | Found by bzEq (Kai Luo). llvm-svn: 360643
* [X86] Use X86 instead of X32 as a check prefix in atomic-idempotent.ll. NFCCraig Topper2019-05-141-149/+145
| | | | | | | | | | X32 can refer to a 64-bit ABI that uses 32-bit ints, longs, and pointers. I plan to add gnux32 command lines to this test so this prepares for that. Also remove some check lines that have a prefix that is not in any run lines. llvm-svn: 360642
* LLDB website: Change the title back to "The LLDB Debugger"Adrian Prantl2019-05-142-4/+9
| | | | | | This is what the old homepage also used. llvm-svn: 360641
* [SDAG] fix unused variable warning and unneeded indirection; NFCSanjay Patel2019-05-142-3/+3
| | | | llvm-svn: 360640
* [SDAG, x86] allow targets to override test for binop opcodesSanjay Patel2019-05-1410-79/+119
| | | | | | | | This follows the pattern of the existing isCommutativeBinOp(). x86 shows improvements from vector narrowing for the min/max opcodes. llvm-svn: 360639
* [Docs] Differentiate between public and private APIJonas Devlieghere2019-05-141-2/+3
| | | | | | | On the homepage we should have a clear distinction between the public and private C++ APIs. llvm-svn: 360638
* PR41817: Fix regression in r359260 that caused the MS compatibilityRichard Smith2019-05-142-6/+46
| | | | | | | extension allowing a "static" declaration to follow an "extern" declaration to stop working. llvm-svn: 360637
* [coroutines] Fix spills of static array allocasGor Nishanov2019-05-132-6/+111
| | | | | | | | | | | | | | | | | | | | | | | Summary: CoroFrame was not considering static array allocas, and was only ever reserving a single element in the coroutine frame. This meant that stores to the non-zero'th element would corrupt later frame data. Store static array allocas as field arrays in the coroutine frame. Added test. Committed by Gor Nishanov on behalf of ben-clayton Reviewers: GorNishanov, modocache Reviewed By: GorNishanov Subscribers: Orlando, capn, EricWF, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61372 llvm-svn: 360636
* [c++20] P1064R0: Allow virtual function calls in constant expressionRichard Smith2019-05-1315-57/+456
| | | | | | | | | | | | | evaluation. This reinstates r360559, reverted in r360580, with a fix to avoid crashing if evaluation-for-overflow mode encounters a virtual call on an object of a class with a virtual base class, and to generally not try to resolve virtual function calls to objects whose (notional) vptrs are not readable. (The standard rules are unclear here, but this seems like a reasonable approach.) llvm-svn: 360635
* [AMDGPU] gfx1010 clang targetStanislav Mekhanoshin2019-05-139-3/+37
| | | | | | Differential Revision: https://reviews.llvm.org/D61875 llvm-svn: 360634
* [Docs] Fix code formattign in variable.rstJonas Devlieghere2019-05-131-0/+1
| | | | | | Fixes missing newline between :: and the actual code. llvm-svn: 360632
* [CMake] Reinstate LLDB_CAN_USE_LLDB_SERVERJonas Devlieghere2019-05-132-3/+8
| | | | | | | | | | We cannot manipulate the LLDB_TOOL_LLDB_SERVER_BUILD directly from LLDBConfig.cmake because this would set the variable before the option is defined in AddLLVM.cmake. Instead, we need to use the LLDB_CAN_USE_LLDB_SERVER variable to conditionally add the lldb-server subdirectory. This should ensure the variable doesn't get cleared. llvm-svn: 360631
* [X86] Make `x86intrin.h`, `immintrin.h` includable with `-fno-gnu-inline-asm`.Volodymyr Sapsai2019-05-134-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Currently `immintrin.h` includes `pconfigintrin.h` and `sgxintrin.h` which contain inline assembly. It causes failures when building with the flag `-fno-gnu-inline-asm`. Fix by excluding functions with inline assembly when this extension is disabled. So far there was no need to support `_pconfig_u32`, `_enclu_u32`, `_encls_u32`, `_enclv_u32` on platforms that require `-fno-gnu-inline-asm`. But if developers start using these functions, they'll have compile-time undeclared identifier errors which is preferrable to runtime errors. rdar://problem/49540880 Reviewers: craig.topper, GBuella, rnk, echristo Reviewed By: rnk Subscribers: jkorous, dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D61621 llvm-svn: 360630
* [gn] Fix buildVitaly Buka2019-05-133-0/+4
| | | | llvm-svn: 360629
* Removing an unused member variable; NFC.Aaron Ballman2019-05-131-2/+1
| | | | llvm-svn: 360628
* [X86] Use ISD::MERGE_VALUES to return from lowerAtomicArith instead of ↵Craig Topper2019-05-131-4/+8
| | | | | | | | | | | | | | calling ReplaceAllUsesOfValueWith and returning SDValue(). Returning SDValue() makes the caller think that nothing happened and it will end up executing the Expand path. This generates extra nodes that will need to be pruned as dead code. Returning an ISD::MERGE_VALUES will tell the caller that we'd like to make a change and it will take care of replacing uses. This will prevent falling into the Expand path. llvm-svn: 360627
* [OpenMP][Clang][BugFix] Split declares and math functions inclusion.Gheorghe-Teodor Bercea2019-05-1314-21/+66
| | | | | | | | | | | | | | | | Summary: This patches fixes an issue in which the __clang_cuda_cmath.h header is being included even when cmath or math.h headers are not included. Reviewers: jdoerfert, ABataev, hfinkel, caomhin, tra Reviewed By: tra Subscribers: tra, mgorny, guansong, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61765 llvm-svn: 360626
* Make language option `GNUAsm` discoverable with `__has_extension` macro.Volodymyr Sapsai2019-05-133-0/+9
| | | | | | | | | | | | | | | | This can be used for better support of `-fno-gnu-inline-asm` builds. rdar://problem/49540880 Reviewers: aaron.ballman, rsmith Reviewed By: aaron.ballman Subscribers: eraman, jkorous, dexonsmith, craig.topper, cfe-commits Differential Revision: https://reviews.llvm.org/D61619 llvm-svn: 360625
* Disable TestEnvironment on WindowsJonas Devlieghere2019-05-131-0/+2
| | | | | | | | | | | | | | The input source file seems to be triggering an error in the Visual Studio headers. > xstddef:338:2: error: ''auto' return without trailing return type; > deduced return types are a C++14 extension I tried converting the test to use the %build stuff Zachary added, but that seems to be missing some Darwin support. Disabling the test on Windows in the meantime. llvm-svn: 360624
* [AMDGPU] gfx1010 SearchableTableEmitter patch for NSAStanislav Mekhanoshin2019-05-131-1/+1
| | | | | | | | This part was accidentally missing from NSA image support commit. Differential Revision: https://reviews.llvm.org/D61868 llvm-svn: 360623
* Introduce the ability to dump the AST to JSON.Aaron Ballman2019-05-1317-32/+2850
| | | | | | This adds the -ast-dump=json cc1 flag (in addition to -ast-dump=default, which is the default if no dump format is specified), as well as some initial AST dumping functionality and tests. llvm-svn: 360622
* [CMake] Simplify lldb-server handlingJonas Devlieghere2019-05-133-18/+8
| | | | | | | | | We can piggyback off the existing add_lldb_tool_subdirectory to decide whether or not lldb-server should be built. Differential revision: https://reviews.llvm.org/D61872 llvm-svn: 360621
* [Pass Pipeline][NFC] Add a test prior to committing D61726Nemanja Ivanovic2019-05-131-0/+155
| | | | | | | | | | This patch just adds a test case to show the differences in code emitted by opt before and after https://reviews.llvm.org/D61726. Previous attempt to commit this did not include the registered target requirement so it caused buildbot breaks. llvm-svn: 360620
* [X86] Various type corrections to the code that creates ↵Craig Topper2019-05-131-10/+13
| | | | | | | | | | | | | | | | | | LOCK_OR32mi8/OR32mi8Locked to the stack for idempotent atomic rmw and atomic fence. These are updates to match how isel table would emit a LOCK_OR32mi8 node. -Use i32 for the immediate zero even though only 8 bits are encoded. -Use i16 for segment register. -Use LOCK_OR32mi8 for idempotent atomic operations in 32-bit mode to match 64-bit mode. I'm not sure why OR32mi8Locked and LOCK_OR32mi8 both exist. The only difference seems to be that OR32mi8Locked is marked as UnmodeledSideEffects=1. -Emit an extra i32 result for the flags output. I don't know if the types here really matter just noticed it was inconsistent with normal behavior. llvm-svn: 360619
* [JITLink][MachO] Honor the no-dead-strip flag on nlist entries.Lang Hames2019-05-132-1/+17
| | | | llvm-svn: 360618
* [Support] Ensure redirected outputs don't contain output from previous tests.David L. Jones2019-05-131-0/+1
| | | | | | | | stdout may be buffered, and may not flush on every write. Explicitly flushing before redirecting the output ensures that the captured output does not contain output from other tests. llvm-svn: 360617
* [WebAssembly] Don't assume that zext/sext result is i32/i64 in fast isel ↵Nikita Popov2019-05-132-2/+50
| | | | | | | | | | | | | (PR41841) Usually this will abort fast-isel at the instruction using the non-legal result, but if the only use is in a different basic block, we'll incorrectly assume that the zext/sext is to i32 (rather than i128 in this case). Differential Revision: https://reviews.llvm.org/D61823 llvm-svn: 360616
* [AMDGPU] gfx1010 tests. NFC.Stanislav Mekhanoshin2019-05-1311-98/+526
| | | | llvm-svn: 360615
* Make more friendly with unions. Reviewed as https://reviews.llvm.org/D61858Marshall Clow2019-05-132-1/+23
| | | | llvm-svn: 360614
* [clang-tidy] readability-redundant-declaration: fix false positive with C ↵Matthias Gehre2019-05-133-2/+49
| | | | | | | | | | | | | | | | | | | "extern inline" Summary: readability-redundant-declaration was diagnosing a redundant declaration on "extern inline void f();", which is needed in C code to force an external definition of the inline function f. (This is different to how inline behaves in C++). Reviewers: alexfh, danielmarjamaki Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61700 llvm-svn: 360613
* Merge target and launch info environmentsJonas Devlieghere2019-05-133-1/+18
| | | | | | | | | | | Before this change we were overriding the launch info environment with the target environment. This meant that the environment variables passed to `process launch --environment <>` were lost. Instead of replacing the environment, we should merge them. Differential revision: https://reviews.llvm.org/D61864 llvm-svn: 360612
* Remove commented-out codeJonas Devlieghere2019-05-131-43/+0
| | | | llvm-svn: 360611
* Add a new LIBUNWIND_WEAK_PTHREAD Cmake option to forceSterling Augustine2019-05-133-2/+39
| | | | | | | | | | | calls into the pthread library use weak symbols. This option allows libpthread to be a weak dependency rather than a hard one. Differential Revision: https://reviews.llvm.org/D60285 llvm-svn: 360610
* [AMDGPU] Reorder includes per coding standard. NFC.Stanislav Mekhanoshin2019-05-131-1/+1
| | | | llvm-svn: 360609
* [AMDGPU] Remove now unused V2FP16_ONE constant def. NFC.Stanislav Mekhanoshin2019-05-131-1/+0
| | | | llvm-svn: 360608
* [clang][ASTContext] Call setAttached for comments attached to a declarationJan Korous2019-05-131-0/+2
| | | | | | | | | | | This is a bug affecting performance when compiling with -Wdocumentation. In Sema::ActOnDocumentable we're checking whether there are any comments unattached to declaration at the end of comment list whenever we encounter new documentable declaration. Since this property of RawComment was never set we were trying to find comments every time and that involves at least a couple expensive SourceLocation decompositions. Differential Revision: https://reviews.llvm.org/D61538 llvm-svn: 360607
* Revert [X86] Avoid SFB - Fix inconsistent codegen with/without debug info Robert Lougher2019-05-132-252/+2
| | | | | | Revert r360436 as it is causing clang-x64-windows-msvc buildbot to fail. llvm-svn: 360606
* [InstCombine] try harder to form rotate (funnel shift) (PR20750)Sanjay Patel2019-05-132-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a similar match for patterns ending in a truncate. This should be ok for all targets because the default expansion would still likely be better from replacing 2 'and' ops with 1. Attempt to show the logic equivalence in Alive (which doesn't currently have funnel-shift in its vocabulary AFAICT): %shamt = zext i8 %i to i32 %m = and i32 %shamt, 31 %neg = sub i32 0, %shamt %and4 = and i32 %neg, 31 %shl = shl i32 %v, %m %shr = lshr i32 %v, %and4 %or = or i32 %shr, %shl => %a = and i8 %i, 31 %shamt2 = zext i8 %a to i32 %neg2 = sub i32 0, %shamt2 %and4 = and i32 %neg2, 31 %shl = shl i32 %v, %shamt2 %shr = lshr i32 %v, %and4 %or = or i32 %shr, %shl https://rise4fun.com/Alive/V9r llvm-svn: 360605
* [TargetLowering] Handle multi depth GEPs w/ inline asm constraintsNick Desaulniers2019-05-136-72/+87
| | | | | | | | | | | | | | | | | | | | | | | Summary: X86TargetLowering::LowerAsmOperandForConstraint had better support than TargetLowering::LowerAsmOperandForConstraint for arbitrary depth getelementpointers for "i", "n", and "s" extended inline assembly constraints. Hoist its support from the derived class into the base class. Link: https://github.com/ClangBuiltLinux/linux/issues/469 Reviewers: echristo, t.p.northover Reviewed By: t.p.northover Subscribers: t.p.northover, E5ten, kees, jyknight, nemanjai, javed.absar, eraman, hiraditya, jsji, llvm-commits, void, craig.topper, nathanchance, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D61560 llvm-svn: 360604
* Stop defining negative versions of some lit feature keywords:Paul Robinson2019-05-131-9/+8
| | | | | | | | | | | | | | | | | | | zlib/nozlib, asan/not_asan, msan/not_msan, ubsan/not_ubsan. We still have two other ways to express the absence of a feature. First, we have the '!' operator to invert the sense of a keyword. For example, given a feature that depends on zlib being unavailable, its test can say: REQUIRES: !zlib Second, if a test doesn't play well with some features, such as sanitizers, that test can say: UNSUPPORTED: asan, msan The different ways of writing these exclusions both have the same technical effect, but have different implications to the reader. llvm-svn: 360603
OpenPOWER on IntegriCloud