summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Attributor] Function level undefined behavior attributeJohannes Doerfert2019-12-243-0/+161
| | | | | | | | | | | | | | | _Eventually_, this attribute will be assigned to a function if it contains undefined behavior. As a first small step, I tried to make it loop through the load instructions in a function (eventually, the plan is to check if a load instructions causes undefined behavior, because e.g. dereferences a null pointer - Also eventually, this won't happen in initialize() but in updateImpl()). Patch By: Stefanos Baziotis (@baziotis) Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D71435
* [MCJIT] Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"Fangrui Song2019-12-241-3/+3
|
* [WinEH] Delete addFnAttr("no-frame-pointer-elim") which seems no longer neededFangrui Song2019-12-241-5/+0
| | | | | | | | It was added in rL238619. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D71862
* [Thumb][test] Fix CodeGen/Thumb/PR17309.ll after ↵Fangrui Song2019-12-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | llvmorg-10-init-16046-ga36ddf0aa9d All of "no-frame-pointer-elim-non-leaf" "no-frame-pointer-elim-non-leaf"="true" "no-frame-pointer-elim-non-leaf"="false" mean "frame-pointer"="non-leaf", which is quite counter-intuitive. llvmorg-10-init-16046-ga36ddf0aa9d accidentally broke it. This fixes the -DLLVM_ENABLE_EXPENSIVE_CHECKS=On test: ``` *** Bad machine code: Non-flag-setting Thumb1 mov is v6-only *** - function: pass_C - basic block: %bb.0 entry (0x1fc9bf0) - instruction: $r0 = tMOVr killed $r6, 14, $noreg ```
* [Support] Fix behavior of StringRef::count with overlapping occurrences, add ↵Johannes Doerfert2019-12-242-2/+14
| | | | | | | | | | | | | | | | | | tests Summary: Fix the behavior of StringRef::count(StringRef) to not count overlapping occurrences, as is stated in the documentation. Fixes bug https://bugs.llvm.org/show_bug.cgi?id=44072 I added Krzysztof Parzyszek to review this change because a use of this function in HexagonInstrInfo::getInlineAsmLength might depend on the overlapping-behavior. I don't have enough domain knowledge to tell if this change could break anything there. All other uses of this method in LLVM (besides the unit tests) only use single-character search strings. In those cases, search occurrences can not overlap anyway. Patch by Benno (@Bensge) Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D70585
* Migrate function attribute "no-frame-pointer-elim"="false" to ↵Fangrui Song2019-12-24333-508/+508
| | | | "frame-pointer"="none" as cleanups after D56351
* Migrate function attribute "no-frame-pointer-elim-non-leaf" to ↵Fangrui Song2019-12-2452-82/+82
| | | | "frame-pointer"="non-leaf" as cleanups after D56351
* Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" ↵Fangrui Song2019-12-24497-741/+741
| | | | as cleanups after D56351
* [OPENMP]Add extra checks and initialization for clause modifier.Alexey Bataev2019-12-242-2/+15
| | | | | Added initialization of the extra modifier to silence sanitizer. Added extra checks to avoid such trouble in future.
* AMDGPU/GlobalISel: Fix mapping and selection of llvm.amdgcn.div.fixupMatt Arsenault2019-12-242-1/+6
|
* [lldb] Adapt for NetBSD-9.99.30 ptrace(2) API changesKamil Rytarowski2019-12-242-2/+21
| | | | | | | | Switch from PT_LWPINFO to PT_LWPSTATUS/PT_LWPNEXT. Keep compat support for < 9.99.30. No functional change intended.
* [compiler-rt] Adapt for ptrace(2) changes in NetBSD-9.99.30Kamil Rytarowski2019-12-245-3/+64
| | | | | Enable compat support for now legacy PT_LWPINFO. Support PT_LWPSTATUS and PT_LWPNEXT.
* [compiler-rt] Adapt stop-the-world for ptrace changes in NetBSD-9.99.30Kamil Rytarowski2019-12-241-2/+10
| | | | Handle PT_LWPNEXT for newer kernels and keep PT_LWPINFO for older ones.
* [X86] Use 128-bit vector instructions for f32/f64->i64 conversions on 32-bit ↵Craig Topper2019-12-242-23/+22
| | | | | | | | | | | | | | targets with avx512dq and avx512vl instructions. On 32-bit targets we can't use the scalar instruction so we insert the scalar into a vector and use packed conversions. Previously we used either v4f32->v4i64 or v4f64->v4i64 to avoid some complexity creating target specific ISD opcodes for v4f32->v2i64. But this causes extra vzeroupper instructions and possibly frequency throttling on Intel CPUs. This patch changes this to create a 128-bit vector and uses a target specific ISD opcode if needed.
* [mlir] Fix -Wunneeded-internal-declarationFangrui Song2019-12-241-1/+1
|
* test: ensure that we dead-strip in the linkerSaleem Abdulrasool2019-12-241-0/+1
| | | | | `/OPT:REF` is needed for link to dead strip functions, `/Gy` by itself is not sufficient.
* [X86] Add STRICT versions of CVTTP2SI, CVTTP2UI, CMPM, and CMPP.Craig Topper2019-12-2412-345/+294
| | | | Differential Revision: https://reviews.llvm.org/D71850
* [OPENMP][DOCS]Update status of OpenMP 5.0 features, NFC.Alexey Bataev2019-12-241-2/+2
|
* [OPENMP50]Basic support for conditional lastprivate.Alexey Bataev2019-12-2447-153/+434
| | | | Added parsing/sema checks for conditional lastprivates.
* GlobalISel: Update syntax in debug printingMatt Arsenault2019-12-241-1/+1
| | | | Physical register names now start with $, not %
* GlobalISel: Define equivalent node for G_INTRINSIC_ROUNDMatt Arsenault2019-12-241-0/+1
|
* GlobalISel: Fix naming variables "brank" instead of "bank"Matt Arsenault2019-12-241-7/+7
|
* [lldb][NFC] Move ClangASTContext::m_scratch_ast_source_up to the appropriate ↵Raphael Isemann2019-12-242-11/+17
| | | | | | | | | class m_scratch_ast_source_up is only used by ClangASTContextForExpressions so it should also be declared only in that class. Also make all other members of ClangASTContext private and move the initialization code for ClangASTContextForExpressions into the constructor.
* Fix readability-const-return-type identifying the wrong `const` tokenIlya Mirsky2019-12-244-19/+71
| | | | | | | Replace tidy::utils::lexer::getConstQualifyingToken with a corrected and also generalized to other qualifiers variant - getQualifyingToken. Fixes PR44326
* Fix false positive in magic number checker.Florin Iucha2019-12-244-6/+48
| | | | | cppcoreguidelines-avoid-magic-numbers should not warn about enum class. Fixes PR40640.
* AMDGPU/GlobalISel: Legalize some 16-bit round instructionsMatt Arsenault2019-12-247-17/+351
|
* GlobalISel: Define equivalent node for G_INTRINSIC_TRUNCMatt Arsenault2019-12-242-0/+83
|
* AMDGPU/GlobalISel: Lower llvm.amdgcn.elseMatt Arsenault2019-12-242-6/+48
|
* [NFC] Remove some dead code from CGBuiltin.cpp.Kevin P. Neal2019-12-241-14/+0
|
* VariableName doc: fix the link to the mozilla docSylvestre Ledru2019-12-241-1/+1
|
* mlir README.md: Fix the syntaxSylvestre Ledru2019-12-241-1/+1
|
* [lldb][NFC] Remove ClangExternalASTSourceCommonRaphael Isemann2019-12-249-142/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | ClangExternalASTSourceCommon's purpose is to store a map from Decl*/Type* to ClangASTMetadata. Usually this data is accessed via the ClangASTContext interface which then grabs the current ExternalASTSource of its ASTContext, tries to cast it to ClangExternalASTSourceCommon and then accesses the metadata map. If the casting fails the setter does nothing and the getter returns a nullptr as if there was no known metadata for a type/decl. This system breaks as soon as any non-LLDB ExternalASTSource is added via a multiplexer to our existing ExternalASTSource (in which case we suddenly loose all out metadata as the casting always fails with an ExternalASTSource that is not inheriting from ClangExternalASTSourceCommon). This patch moves the metadata map to the ClangASTContext. This gets rid of all the fragile casting, the requirement that every ExternalASTSource in LLDB has to inherit from ClangExternalASTSourceCommon and simplifies the metadata implementation to a simple map lookup. As ClangExternalASTSourceCommon had no other purpose than storing metadata, this patch deletes this class and replaces all uses with clang::ExternalASTSource. No other code changes in this commit beside the AppleObjCDeclVendor which was the only code that did not use the ClangASTContext interface but directly accessed the ClangExternalASTSourceCommon.
* doc: Document that extra-arg/extra-arg-before can be used several timesSylvestre Ledru2019-12-243-0/+6
| | | | Hopefully, it will help other people
* clang-doc remove trailing whitespacesSylvestre Ledru2019-12-241-3/+3
|
* Revert "[Support] Extend TimeProfiler to support multiple threads"Russell Gallop2019-12-242-86/+18
| | | | | | | and "[Support] Try to fix bot failure after 8ddcd1dc26" This reverts commits f70f180148 and 8ddcd1dc26 as this was breaking the MacOS build, which doesn't support thread_local.
* [clang] [ast] CXXRecordDecl::getVisibleConversionFunctions() could be constWhisperity2019-12-242-13/+12
| | | | | | | | | | The function and its called static helpers don't modify the received CXXRecordDecl arguments at all as the method's result is put into an output parameter. Thus they can be const which allows for neatly grabbing the conversion methods in a context where we only have a const ASTUnit at hand. Differential Revision: https://reviews.llvm.org/D71805
* [TypePromotion] Make TypeSize a class memberSam Parker2019-12-241-87/+98
| | | | | | | | | Having TypeSize as a static class variable was causing problems with multi-threading. Several static functions have now been converted into methods of TypePromotion and a few other members of TypePromotion and IRPromoter have been added or removed. Differential Revision: https://reviews.llvm.org/D71832
* DebugInfo: Correct the form of DW_AT_macro_info in .dwo files (sec_offset, ↵David Blaikie2019-12-242-2/+2
| | | | rather than data4)
* DebugInfo: Add {} to address -Wdangling-else warning.David Blaikie2019-12-241-1/+2
|
* Add the Apache2 with LLVM exceptions license to MLIRMehdi Amini2019-12-241-0/+234
| | | | It seems that every subproject has a license file instead of having a top-level one.
* [llvm-readobj] - Remove an excessive helper for printing dynamic tags.Georgii Rymar2019-12-243-147/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the `getTypeString` from readeobj source because it almost duplicates the existent method: `ELFFile<ELFT>::getDynamicTagAsString`. Side effect: now it prints "<unknown:>0xHEXVALUE" instead of "(unknown)" for unknown values. llvm-readelf before this patch printed: ``` 0x0000000012345678 (unknown) 0x8765432187654321 0x000000006abcdef0 (unknown) 0x9988776655443322 0x0000000076543210 (unknown) 0x5555666677778888 ``` and now it prints: ``` 0x0000000012345678 (<unknown:>0x12345678) 0x8765432187654321 0x000000006abcdef0 (<unknown:>0x6abcdef0) 0x9988776655443322 0x0000000076543210 (<unknown:>0x76543210) 0x5555666677778888 ``` GNU reaedlf prints different thing: ``` 0x0000000012345678 (<unknown>: 12345678) 0x8765432187654321 0x000000006abcdef0 (Operating System specific: 6abcdef0) 0x9988776655443322 0x0000000076543210 (Processor Specific: 76543210) 0x5555666677778888 ``` I am not sure we want to follow GNU here. Even if we do, it should be separate patch probably. The new output looks better and closer to GNU anyways, and the code is a bit simpler. Differential revision: https://reviews.llvm.org/D71835
* Remove static MLIR doc ; they are already on the websiteMehdi Amini2019-12-243-452/+0
|
* [docs] fix typo in Lexicon.rstAlex Zinenko2019-12-241-4/+4
| | | | Differential revision: https://reviews.llvm.org/D71844
* Add `mlir` to -DLLVM_ALL_PROJECTS CMake optionMehdi Amini2019-12-242-1/+2
|
* [DebugInfo] Fix v4 macinfo for dwo files.Sourabh Singh Tomar2019-12-242-4/+14
| | | | | Dwo files must contain have DW_AT_macro_info attribute, when macro information is emitted. Adjusted the test case for the same.
* [SelectionDAG] Change SelectionDAGISel::{funcInfo,SDB} to use unique_ptrFangrui Song2019-12-235-35/+36
| | | | | CurDAG is referenced more than 2000 times and used in many gerated .cpp files. Don't touch it for now.
* [SelectionDAG] Don't repeatedly add a node to the worklist in ↵Fangrui Song2019-12-231-6/+3
| | | | | | ComputeLiveOutVRegInfo. NFC For sqlite3 amalgram, this decreases the number of Worklist.push_back calls (603084) by 10%.
* test: correct flags for WindowsSaleem Abdulrasool2019-12-231-0/+2
| | | | | Adjust the flags for the LLDB test on Windows. This test was previously not running, but after the fix to the python detection, we now run this.
* NFC: Rename printOptionValue to printValue to fix MSVC build.River Riddle2019-12-231-9/+7
| | | | MSVC has trouble resolving the static 'printOptionValue' from the method on llvm::cl::opt/list. This change renames the static method to avoid this conflict.
* DebugInfo: Support dumping any exprloc as an expressionDavid Blaikie2019-12-232-1/+103
| | | | | | | Now that DWARFv5 provides a way to identify DWARF expressions based on form, rather than only by attribute - use it to always provide pretty printing for any exprloc attribute, not only the attributes known to contain expressions.
OpenPOWER on IntegriCloud