summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [yaml2obj] - Add a way to describe the custom data that is not part of an ↵Georgii Rymar2019-11-119-153/+584
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | output section. Currently there is no way to describe the data that is not a part of an output section. It can be a data used to align sections or to fill the gaps with something, or another kind of custom data. In this patch I suggest a way to describe it. It looks like that: ``` Sections: - Type: CustomFiller Pattern: "CCDD" Size: 4 - Name: .bar Type: SHT_PROGBITS Content: "FF" ``` I.e. I've added a kind of synthetic section with a synthetic type "CustomFiller". In the code it is called a "SyntheticFiller", which is "a synthetic section which might be used to write the custom data around regular output sections. It does not present in the sections header table, but it might affect the output file size and program headers produced. Think about it as about piece of data." `SyntheticFiller` currently has a `Pattern` field and a `Size` field + an optional `Name`. When written, `Size` of bytes in the output will be filled with a `Pattern`. It is possible to reference a named filler it by name from the program headers description, just like any other normal section. Differential revision: https://reviews.llvm.org/D69709
* [clangd] Fixes colon escaping on WindowsIlya Biryukov2019-11-113-22/+24
| | | | | | vscode always escapes the colon on the file uri, which causes the semantic highlighting fails on windows. fixes: https://github.com/clangd/clangd/issues/176
* libc++ status page: New papers and issues adopted in Belfastmarshall2019-11-111-1/+62
|
* [NFC] Add one test to verify the dependency brings by Macro-Fusion.QingShan Zhang2019-11-111-0/+23
|
* [DirectedGraph]: Add setTargetNode member functionTsang Whitney W.H2019-11-111-0/+3
| | | | | | | | | | | Summary:Add the setTargetNode member function to class DGEdge. Authored By:etiotto Reviewer:bmahjour, Whitney, jdoerfert, Meinersbur, fhahn, kbarton, dmgreen Reviewed By:Meinersbur Subscribers:dexonsmith, kristina, llvm-commits Tag:LLVM Differential Revision:https://reviews.llvm.org/D68474
* Revert "Fixed a profdata file size detection on Windows system."Vladimir Vereschaka2019-11-101-1/+1
| | | | | | | | | | This reverts commit bcbb121ff6c8440382abfce8f2911a095f14602b. Using 'ls -o' is not compatible way to fix the problem. FreeBSD and OSX version of 'ls' do not support -o flag and test gets failed on these platforms. Differential Revision: https://reviews.llvm.org/D69317
* [InstCombine] Turn (extractelement <1 x i64/double> (bitcast (x86_mmx))) ↵Craig Topper2019-11-102-2/+8
| | | | | | | | | | | | | into a single bitcast from x86_mmx to i64/double. The _m64 type is represented in IR as <1 x i64>. The x86-64 ABI on Linux passes <1 x i64> as a double. MMX intrinsics use x86_mmx type in IR.These things result in a lot of bitcasts in mmx code. There's another instcombine that tries to turn bitcast <1 x i64> to double into extractelement and a bitcast. The combine here tries to reverse this extractelement conversion if we see an mmx type.
* [InstCombine] Add a test case for suboptimal handling of (double (bitcast ↵Craig Topper2019-11-101-1/+14
| | | | | | | | (<1 x i64> (bitcast (x86_mmx))))) The outer bitcast gets turned into an extractelement and another bitcast rather than combining away to a single bitcast from mmx to double.
* Revert "[InstCombine] avoid crash from deleting an instruction that still ↵Sanjay Patel2019-11-102-59/+4
| | | | | | | has uses (PR43723) (2nd try)" This reverts commit 56b2aee1875a1ee47ddf859a6584f8728787fb7b. Still causes a use-after-free on sanitizer bots.
* [InstCombine] avoid crash from deleting an instruction that still has uses ↵Sanjay Patel2019-11-102-4/+59
| | | | | | | | | | | | | | | | | | | (PR43723) (2nd try) Re-try rGef02831f0a4e (reverted due to use-after-free), but bail out completely if we encounter an unexpected llvm.invariant.start. We gather a set of white-listed instructions in isAllocSiteRemovable() and then replace/erase them. But we don't know in general if the instructions in the set have uses amongst themselves, so order of deletion makes a difference. There's already a special-case for the llvm.objectsize intrinsic, so add another for llvm.invariant.end. Should fix: https://bugs.llvm.org/show_bug.cgi?id=43723 Differential Revision: https://reviews.llvm.org/D69977
* getArgOperandNo helper function.Stefan Stipanovic2019-11-102-2/+15
| | | | | | | | | | | | Summary: A helper function to get argument number of a arg operand Use. Reviewers: jdoerfert, uenoku Subscribers: hiraditya, lebedev.ri, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66844
* clang/Modules: Remove unused parameter from ModuleManager::removeModulesDuncan P. N. Exon Smith2019-11-103-12/+3
| | | | | | The other paremeters appear to be sufficient to determine which modules have just been loaded and need to be removed, so stop collecting and sending in that set explicitly.
* [NFC][Codegen] Add `x u% C1 == C2` with C1 u> C2 non-tautological testsRoman Lebedev2019-11-104-0/+1233
|
* Docs: Updates Sphinx Quickstart template for new contributorsdrichards-872019-11-101-48/+55
|
* Revert "[InstCombine] avoid crash from deleting an instruction that still ↵Sanjay Patel2019-11-102-52/+4
| | | | | | | has uses (PR43723)" This reverts commit ef02831f0a4e3b3ccaa45a5589e4cabecbf527ab. Sanitizer bots fail with this change.
* [RISCV] Fix CFA when doing split sp adjustment with fpLuís Marques2019-11-103-27/+29
| | | | | | | | | | | | | Summary: When using the split sp adjustment and using the frame-pointer we were still emitting CFI CFA directives based on the sp value. The final sp-based offset also didn't reflect the two-stage sp adjust. There remain CFI issues that aren't related to the split sp adjustment, and thus will be addressed in a separate patch. Reviewers: asb, lenary, shiva0217 Reviewed By: lenary, shiva0217 Tags: #llvm Differential Revision: https://reviews.llvm.org/D69385
* [RISCV][NFC] Add CFI-related testsLuís Marques2019-11-103-8/+503
| | | | | | | | | | Summary: Adds tests necessary to properly show the impact of other patches that affect the emission of CFI directives. Reviewers: asb, lenary Reviewed By: lenary Tags: #llvm Differential Revision: https://reviews.llvm.org/D69721
* [InstCombine] avoid crash from deleting an instruction that still has uses ↵Sanjay Patel2019-11-102-4/+52
| | | | | | | | | | | | | | | | (PR43723) We gather a set of white-listed instructions in isAllocSiteRemovable() and then replace/erase them. But we don't know in general if the instructions in the set have uses amongst themselves, so order of deletion makes a difference. There's already a special-case for the llvm.objectsize intrinsic, so add another for llvm.invariant.end. Should fix: https://bugs.llvm.org/show_bug.cgi?id=43723 Differential Revision: https://reviews.llvm.org/D69977
* Remove unused variable (which allows us to remove vector include). NFC.Simon Pilgrim2019-11-101-3/+0
|
* [Driver] Remove unused variable. NFC.Benjamin Kramer2019-11-101-1/+0
|
* [NFC][Codegen] Add `x u% C1 == C2` with C1 u<= C2 tautological testsRoman Lebedev2019-11-102-0/+474
|
* Twine - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-101-2/+2
|
* TableGen - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-102-6/+6
|
* PODSmallVector - fix MSVC uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-101-1/+1
|
* Path - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-101-8/+8
|
* CodeGenRegBank - make functions const to fix cppcheck warnings.Simon Pilgrim2019-11-101-3/+5
|
* [MC] Clean up MacroInstantiation. NFCFangrui Song2019-11-091-13/+5
|
* [NFC]: Fix PVS Studio warning in LoopNestAnalysisTsang Whitney W.H2019-11-101-3/+3
| | | | | | | | | | | | | | | | | | Summary:This patch fixes the following warnings uncovered by PVS Studio: /home/xbolva00/LLVM/llvm-project/llvm/lib/Analysis/LoopCacheAnalysis.cpp 353 warn V612 An unconditional 'return' within a loop. /home/xbolva00/LLVM/llvm-project/llvm/lib/Analysis/LoopCacheAnalysis.cpp 456 err V502 Perhaps the '?:' operator works in a different way than it was expected. The '?:' operator has a lower priority than the '==' operator. Authored By:etiotto Reviewer:Meinersbur, kbarton, bmahjour, Whitney, xbolva00 Reviewed By:xbolva00 Subscribers:hiraditya, llvm-commits Tag:LLVM Differential Revision:https://reviews.llvm.org/D69821
* [X86] Handle MO_ConstantPoolIndex in X86AsmPrinter::PrintOperandCraig Topper2019-11-092-0/+17
| | | | Fixes PR43952
* Try to fix sphinx "Could not lex literal_block as "llvm"" warning.Simon Pilgrim2019-11-091-2/+2
| | | | Code block isn't IR - so treat it as "none" instead.
* YAMLParser - fix SimpleKey uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-091-4/+4
|
* Reduce scope of variable to silence cppcheck warning. NFCSimon Pilgrim2019-11-091-2/+1
|
* RegisterCoalescer - remove duplicate variable to fix Wshadow warning. NFCI.Simon Pilgrim2019-11-091-3/+2
|
* RegisterCoalescer - fix uninitialized variables. NFCI.Simon Pilgrim2019-11-091-10/+10
|
* [LV] Apply sink-after & interleave-groups as VPlan transformations (NFCI)Gil Rapaport2019-11-099-134/+263
| | | | | | | | | This recommits 11ed1c0239fd51fd2f064311dc7725277ed0a994 (reverted in 9f08ce0d2197d4f163dfa4633eae2347ce8fc881 for failing an assert) with a fix: tryToWidenMemory() now first checks if the widening decision is to interleave, thus maintaining previous behavior where tryToInterleaveMemory() was called first, giving priority to interleave decisions over widening/scalarization. This commit adds the test case that exposed this bug as a LIT.
* [lldb] [test] Un-XFAIL tests that work on NetBSD 9Michał Górny2019-11-094-6/+0
|
* Fix variable ‘LookedUpGetterSetter’ set but not used warning. NFCI.Simon Pilgrim2019-11-091-2/+0
|
* Fixed dia fileDávid Bolvanský2019-11-092-1/+1
|
* Fixed c-index testDávid Bolvanský2019-11-091-1/+1
|
* Fixed more -Wreturn-type testsDávid Bolvanský2019-11-094-4/+4
|
* Fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-091-2/+2
|
* Fix shadow variable warning with llvm::SrcMgr. NFCI.Simon Pilgrim2019-11-091-2/+2
|
* Fix operator precedence warning. NFC.Simon Pilgrim2019-11-091-1/+1
|
* [Diagnostics] Try to improve warning message for -Wreturn-typeDávid Bolvanský2019-11-0920-75/+76
| | | | | | | | | | | | | | Summary: I agree with https://easyaspi314.github.io/gcc-vs-clang.html?fbclid=IwAR1VA0qxiWVUusOQUv5z7JESS7ZpeJy-UqAI5mnJscofGLqXcqeErIUB2gU, current warning message is not very good. We should try to improve it.. Reviewers: rsmith, aaron.ballman, easyaspi314 Reviewed By: aaron.ballman Subscribers: arphaman, Quuxplusone, mehdi_amini, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D69762
* Revert "[BPF] Add preserve_access_index attribute for record definition"Yonghong Song2019-11-0914-448/+8
| | | | | | This reverts commit 4a5aa1a7bf8b1714b817ede8e09cd28c0784228a. There are some other test failures. Investigate them first.
* [BPF] Add preserve_access_index attribute for record definitionYonghong Song2019-11-0914-8/+448
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduced a new bpf specific attribute which can be added to struct or union definition. For example, struct s { ... } __attribute__((preserve_access_index)); union u { ... } __attribute__((preserve_access_index)); The goal is to simplify user codes for cases where preserve access index happens for certain struct/union, so user does not need to use clang __builtin_preserve_access_index for every members. The attribute has no effect if -g is not specified. When the attribute is specified and -g is specified, any member access defined by that structure or union, including array subscript access and inner records, will be preserved through __builtin_preserve_{array,struct,union}_access_index() IR intrinsics, which will enable relocation generation in bpf backend. The following is an example to illustrate the usage: -bash-4.4$ cat t.c #define __reloc__ __attribute__((preserve_access_index)) struct s1 { int c; } __reloc__; struct s2 { union { struct s1 b[3]; }; } __reloc__; struct s3 { struct s2 a; } __reloc__; int test(struct s3 *arg) { return arg->a.b[2].c; } -bash-4.4$ clang -target bpf -g -S -O2 t.c A relocation with access string "0:0:0:0:2:0" will be generated representing access offset of arg->a.b[2].c. forward declaration with attribute is also handled properly such that the attribute is copied and populated in real record definition. Differential Revision: https://reviews.llvm.org/D69759
* [libc++] Validate the entire regex is consumedMark de Wever2019-11-092-11/+23
| | | | | | | This change would have warned about the bug found in D62451. No unit tests since the exception should never throw. Differential Revision: https://reviews.llvm.org/D62452
* [Parser] Warn when ScopeDepthOrObjCQuals overflowsMark de Wever2019-11-096-1/+140
| | | | | | | | | Before when the overflow occured an assertion was triggered. Now check whether the maximum has been reached and warn properly. This patch fixes the original submission of PR19607. Differential Revision: https://reviews.llvm.org/D63975
* [NFC] Supress GCC "Bitfield too small to hold all values of enum" warning.Richard Smith2019-11-092-9/+15
| | | | | | Patch by Wang Tianqing! Differential Revision: https://reviews.llvm.org/D69792
* Fix builds where LLVM_ENABLE_STATS is disabledSimon Pilgrim2019-11-091-1/+1
| | | | Missed Stats->EnableStats rename in rG3fb832fe8bdc317687d5a4d2ca20f5f73b089341
OpenPOWER on IntegriCloud