Commit
b1b7a2f7b63db915fbc0e7ee5e1811b8846fbd9b
by nikita.ppv[InstCombine] Fold uadd.sat(a, b) == 0 and usub.sat(a, b) == 0 This adds folds for comparing uadd.sat/usub.sat with zero: * uadd.sat(a, b) == 0 => a == 0 && b == 0 => (a | b) == 0 * usub.sat(a, b) == 0 => a <= b And inverted forms for !=. Differential Revision: https://reviews.llvm.org/D69224 llvm-svn: 375374
|
 | llvm/test/Transforms/InstCombine/saturating-add-sub.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp |
Commit
92c96c7bc0b456cbc32da97df52b1acec238be9f
by vvereschakaReverted r375254 as it has broken some build bots for a long time. llvm-svn: 375375
|
 | llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp |
 | llvm/lib/Transforms/Utils/SizeOpts.cpp |
 | llvm/unittests/CodeGen/CMakeLists.txt |
 | llvm/lib/CodeGen/MachineDominators.cpp |
 | llvm/include/llvm/CodeGen/MachineLoopInfo.h |
 | llvm/unittests/Transforms/Utils/SizeOptsTest.cpp |
 | llvm/include/llvm/Transforms/Utils/SizeOpts.h |
 | llvm/unittests/CodeGen/MachineSizeOptsTest.cpp |
 | llvm/lib/CodeGen/CMakeLists.txt |
 | llvm/lib/CodeGen/MachineLoopInfo.cpp |
 | llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h |
 | llvm/lib/CodeGen/MachineSizeOpts.cpp |
 | llvm/unittests/Transforms/Utils/CMakeLists.txt |
 | llvm/include/llvm/CodeGen/MachineDominators.h |
 | llvm/include/llvm/CodeGen/MachineSizeOpts.h |
Commit
b01c077a1853a94168b83074fdd5fcf0d670104a
by llvmgnsyncbotgn build: Merge r375375 llvm-svn: 375376
|
 | llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn |
Commit
f7aec25d4fb193c2efb5c8bdcecd6d0611183bcc
by lebedev.ri[NFC][InstCombine] conditional sign-extend of high-bit-extract: 'and' pat. can be 'or' pattern. In this pattern, all the "magic" bits that we'd add are all high sign bits, and in the value we'd be adding to they are all unset, not unexpectedly, so we can have an `or` there: https://rise4fun.com/Alive/ups llvm-svn: 375377
|
 | llvm/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll |
Commit
7015a5c54b53d8d2297a3aa38bc32aab167bdcfc
by lebedev.ri[InstCombine] conditional sign-extend of high-bit-extract: 'or' pattern. In this pattern, all the "magic" bits that we'd `add` are all high sign bits, and in the value we'd be adding to they are all unset, not unexpectedly, so we can have an `or` there: https://rise4fun.com/Alive/ups It is possible that `haveNoCommonBitsSet()` should be taught about this pattern so that we never have an `add` variant, but the reasoning would need to be recursive (because of that `select`), so i'm not really sure that would be worth it just yet. llvm-svn: 375378
|
 | llvm/lib/Transforms/InstCombine/InstCombineInternal.h |
 | llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp |
 | llvm/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll |
Commit
8cbcd2f484a2bc6720d9fd66b71aeaf50a49bc70
by listmail[IndVars] Eliminate loop exits with equivalent exit counts We can end up with two loop exits whose exit counts are equivalent, but whose textual representation is different and non-obvious. For the sub-case where we have a series of exits which dominate one another (common), eliminate any exits which would iterate *after* a previous exit on the exiting iteration. As noted in the TODO being removed, I'd always thought this was a good idea, but I've now seen this in a real workload as well. Interestingly, in review, Nikita pointed out there's let another oppurtunity to leverage SCEV's reasoning. If we kept track of the min of dominanting exits so far, we could discharge exits with EC >= MDE. This is less powerful than the existing transform (since later exits aren't considered), but potentially more powerful for any case where SCEV can prove a >= b, but neither a == b or a > b. I don't have an example to illustrate that oppurtunity, but won't be suprised if we find one and return to handle that case as well. Differential Revision: https://reviews.llvm.org/D69009 llvm-svn: 375379
|
 | llvm/test/Transforms/IndVarSimplify/eliminate-exit.ll |
 | llvm/test/Transforms/IndVarSimplify/pr38674.ll |
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
 | llvm/test/Transforms/IndVarSimplify/loop-predication.ll |
Commit
e884843d7839043308640952ad84659619eaca44
by listmail[IndVars] Add a todo to reflect a further oppurtunity identified in D69009 Nikita pointed out an oppurtunity, might as well document it in the code. llvm-svn: 375380
|
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
Commit
e78414622ddbc4f696d1d16ef8db918f732a0a88
by craig.topper[X86] Check Subtarget.hasSSE3() before calling shouldUseHorizontalOp and emitting X86ISD::FHADD in LowerUINT_TO_FP_i64. This was a regression from r375341. Fixes PR43729. llvm-svn: 375381
|
 | llvm/test/CodeGen/X86/scalar-int-to-fp.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
3839b57f7306bdca794bd033f36bff02f68cf0f0
by jdoerfert[Attributor] Teach AANoCapture to use information in-flight more aggressively AAReturnedValues, AAMemoryBehavior, and AANoUnwind, can provide information that helps during the tracking or even justifies no-capture. We now use this information and enable no-capture in some test cases designed a long while a ago for these cases. llvm-svn: 375382
|
 | llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll |
 | llvm/test/Transforms/FunctionAttrs/arg_returned.ll |
 | llvm/test/Transforms/FunctionAttrs/nocapture.ll |
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/FunctionAttrs/nonnull.ll |
 | llvm/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll |
Commit
9d5ad5e45fe40a24ceb11d6f9b046d8077c90778
by jdoerfert[Attributor][FIX] Silence sign-compare warning llvm-svn: 375384
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
Commit
ee881197b00186ada844ce0bb6969d6280a51775
by yhs[BPF] fix indirect call assembly code Currently, for indirect call, the assembly code printed out as callx <imm> This is not right, it should be callx <reg> Fixed the issue with proper format. Differential Revision: https://reviews.llvm.org/D69229 llvm-svn: 375386
|
 | llvm/lib/Target/BPF/BPFInstrInfo.td |
 | llvm/test/CodeGen/BPF/callx.ll |
Commit
5e5af533ab16bad6dc5519b97b1820732d0141a5
by yevgeny.rouban[IR] Fix mayReadFromMemory() for writeonly calls Current implementation of Instruction::mayReadFromMemory() returns !doesNotAccessMemory() which is !ReadNone. This does not take into account that the writeonly attribute also indicates that the call does not read from memory. The patch changes the predicate to !doesNotReadMemory() that reflects the intended behavior. Differential Revision: https://reviews.llvm.org/D69086 llvm-svn: 375389
|
 | llvm/lib/IR/Instruction.cpp |
 | llvm/test/Transforms/EarlyCSE/writeonly.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll |
Commit
908b780952d965d344b7fd85358d933272922c10
by martin[LLD] Move duplicated dwarf parsing code to the Common library. NFC. Differential Revision: https://reviews.llvm.org/D69197 llvm-svn: 375390
|
 | lld/ELF/InputFiles.h |
 | lld/COFF/InputFiles.h |
 | lld/Common/CMakeLists.txt |
 | lld/include/lld/Common/DWARF.h |
 | lld/ELF/InputFiles.cpp |
 | lld/COFF/InputFiles.cpp |
 | lld/Common/DWARF.cpp |
Commit
65b1c497d2a6824ab23411611127dc0c3f17c400
by martin[LLD] [COFF] Use the local dwarf code instead of Symbolizer for resolving code locations. NFC. As we now have code that parses the dwarf info for variable locations, we can use that instead of relying on the higher level Symbolizer library, reducing the previous two different dwarf codepaths into one. Differential Revision: https://reviews.llvm.org/D69198 llvm-svn: 375391
|
 | lld/COFF/SymbolTable.cpp |
 | lld/COFF/InputFiles.cpp |
 | lld/COFF/Config.h |
 | lld/COFF/CMakeLists.txt |
 | lld/COFF/InputFiles.h |
Commit
a59444a35608988e727fe3761e34f1fad6097617
by martin[LLDB] [Windows] Initial support for ARM register contexts Differential Revision: https://reviews.llvm.org/D69226 llvm-svn: 375392
|
 | lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp |
 | lldb/test/Shell/Register/Inputs/arm-fp-read.cpp |
 | lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt |
 | lldb/test/Shell/Register/Inputs/arm-gp-read.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.h |
 | lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.h |
 | lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp |
 | lldb/test/Shell/Register/arm-gp-read.test |
 | llvm/utils/lit/lit/llvm/config.py |
 | lldb/test/Shell/Register/arm-fp-read.test |
 | lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.cpp |
Commit
01e177ede563680faebc57dcda707632b1b9a45d
by llvmgnsyncbotgn build: Merge r375390 llvm-svn: 375393
|
 | llvm/utils/gn/secondary/lld/Common/BUILD.gn |
Commit
a861c9aef926f963ea31581bebbd197356323928
by Piotr Sobczak[InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts Summary: Allow for ignoring the check for a single use in SimplifyDemandedVectorElts to be able to simplify operands if DemandedElts is known to contain the union of elements used by all users. It is a responsibility of a caller of SimplifyDemandedVectorElts to supply correct DemandedElts. Simplify a series of extractelement instructions if only a subset of elements is used. Reviewers: reames, arsenm, majnemer, nhaehnle Reviewed By: nhaehnle Subscribers: wdng, jvesely, nhaehnle, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67345 llvm-svn: 375395
|
 | llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineInternal.h |
 | llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp |
Commit
292771627735a0d23ba3e82b04f9571def812917
by lebedev.ri[CVP] Deduce no-wrap on `mul` Summary: `ConstantRange::makeGuaranteedNoWrapRegion()` knows how to deal with `mul` since rL335646, there is exhaustive test coverage. This is already used by CVP's `processOverflowIntrinsic()`, and by SCEV's `StrengthenNoWrapFlags()` That being said, currently, this doesn't help much in the end: | statistic | old | new | delta | percentage | | correlated-value-propagation.NumMulNSW | 4 | 275 | 271 | 6775.00% | | correlated-value-propagation.NumMulNUW | 4 | 1323 | 1319 | 32975.00% | | correlated-value-propagation.NumMulNW | 8 | 1598 | 1590 | 19875.00% | | correlated-value-propagation.NumNSW | 5715 | 5986 | 271 | 4.74% | | correlated-value-propagation.NumNUW | 9193 | 10512 | 1319 | 14.35% | | correlated-value-propagation.NumNW | 14908 | 16498 | 1590 | 10.67% | | instcount.NumAddInst | 275871 | 275869 | -2 | 0.00% | | instcount.NumBrInst | 708234 | 708232 | -2 | 0.00% | | instcount.NumMulInst | 43812 | 43810 | -2 | 0.00% | | instcount.NumPHIInst | 316786 | 316784 | -2 | 0.00% | | instcount.NumTruncInst | 62165 | 62167 | 2 | 0.00% | | instcount.NumUDivInst | 2528 | 2526 | -2 | -0.08% | | instcount.TotalBlocks | 842995 | 842993 | -2 | 0.00% | | instcount.TotalInsts | 7376486 | 7376478 | -8 | 0.00% | (^ test-suite plain, tests still pass) Reviewers: nikic, reames, luqmana, sanjoy, timshen Reviewed By: reames Subscribers: hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69203 llvm-svn: 375396
|
 | llvm/test/Transforms/CorrelatedValuePropagation/mul.ll |
 | llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp |
Commit
9948fac6c1fae87b31a35afa84fcdb118b671c43
by lebedev.ri[NFC][InstCombine] Fixup comments As noted in post-commit review of rL375378375378. llvm-svn: 375397
|
 | llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp |
Commit
3cc4835c00225d52453014a05f0a2b07f1c1973f
by gchateletUse Align for TFL::TransientStackAlignment Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: arsenm, dschuff, jyknight, sdardis, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, fedor.sergeev, jrtc27, atanasyan, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69216 llvm-svn: 375398
|
 | llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.h |
 | llvm/lib/Target/MSP430/MSP430FrameLowering.h |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.h |
 | llvm/lib/Target/Hexagon/HexagonFrameLowering.h |
 | llvm/lib/Target/Sparc/SparcFrameLowering.cpp |
 | llvm/lib/Target/ARM/ARMFrameLowering.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h |
 | llvm/lib/Target/Mips/MipsFrameLowering.h |
 | llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp |
 | llvm/include/llvm/CodeGen/TargetFrameLowering.h |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/lib/Target/AMDGPU/R600FrameLowering.h |
 | llvm/lib/Target/AMDGPU/SIFrameLowering.h |
 | llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp |
Commit
150a9ad3ffcc142cfcc933379063bec6cfca0783
by martin[LLD] [COFF] Fix use of uninitialized memory since SVN r375390 llvm-svn: 375400
|
 | lld/COFF/InputFiles.h |
Commit
5ba66fa53ba7f5c2c3e384c48a18fa7601dddd45
by david.green[ARM] Add and adjust saturation tests for upcoming qadd changes. NFC llvm-svn: 375401
|
 | llvm/test/CodeGen/ARM/ssub_sat.ll |
 | llvm/test/CodeGen/ARM/qdadd.ll |
 | llvm/test/CodeGen/ARM/sadd_sat.ll |
Commit
fba831e791ba8978f21d2328499c8d3063401de3
by david.green[ARM] Lower sadd_sat to qadd8 and qadd16 Lower the target independent signed saturating intrinsics to qadd8 and qadd16. This custom lowers them from a sadd_sat, catching the node early before it is promoted. It also adds a QADD8b and QADD16b node to mean the bottom "lane" of a qadd8/qadd16, so that we can call demand bits on it to show that it does not use the upper bits. Also handles QSUB8 and QSUB16. Differential Revision: https://reviews.llvm.org/D68974 llvm-svn: 375402
|
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.h |
 | llvm/lib/Target/ARM/ARMInstrInfo.td |
 | llvm/test/CodeGen/ARM/sadd_sat.ll |
 | llvm/test/CodeGen/ARM/ssub_sat_plus.ll |
 | llvm/test/CodeGen/ARM/sadd_sat_plus.ll |
 | llvm/test/CodeGen/ARM/ssub_sat.ll |
 | llvm/lib/Target/ARM/ARMInstrThumb2.td |
Commit
d6e6aa8a42a96c09a78f0e02ecf50f12deda8024
by selliott[MemCpyOpt] Fixing Incorrect Code Motion while Handling Aggregate Type Values Summary: When MemCpyOpt is handling aggregate type values, if an instruction (let's call it P) between the targeting load (L) and store (S) clobbers the source pointer of L, it will try to hoist S before P. This process will also hoist S's data dependency instructions. However, the current implementation has a bug that if one of S's dependency instructions is //also// a user of P, MemCpyOpt will not prevent it from being hoisted above P and cause a use-before-define error. For example, in the newly added test file (i.e. `aggregate-type-crash.ll`), it will try to hoist both `store %my_struct %1, %my_struct* %3` and its dependent, `%3 = bitcast i8* %2 to %my_struct*`, above `%2 = call i8* @my_malloc(%my_struct* %0)`. Creating the following BB: ``` entry: %1 = bitcast i8* %4 to %my_struct* %2 = bitcast %my_struct* %1 to i8* %3 = bitcast %my_struct* %0 to i8* call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %2, i8* align 4 %3, i64 8, i1 false) %4 = call i8* @my_malloc(%my_struct* %0) ret void ``` Where there is a use-before-define error between `%1` and `%4`. Update: The compiler for the Pony Programming Language [also encounter the same bug](https://github.com/ponylang/ponyc/issues/3140) Patch by Min-Yih Hsu (myhsu) Reviewers: eugenis, pcc, dblaikie, dneilson, t.p.northover, lattner Reviewed By: eugenis Subscribers: lenary, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66060 llvm-svn: 375403
|
 | llvm/test/Transforms/MemCpyOpt/aggregate-type-crash.ll |
 | llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp |
Commit
4ec0b084389619442638d7d3563793f21d787501
by grimar[obj2yaml] - Stop triggering UB when dumping corrupted strings. We have a following code to find quote type: if (isspace(S.front()) || isspace(S.back())) ... Problem is that: "int isspace( int ch ): The behavior is undefined if the value of ch is not representable as unsigned char and is not equal to EOF." (https://en.cppreference.com/w/cpp/string/byte/isspace) This patch shows how this UB can be triggered and fixes an issue. Differential revision: https://reviews.llvm.org/D69160 llvm-svn: 375404
|
 | llvm/include/llvm/Support/YAMLTraits.h |
 | llvm/test/tools/obj2yaml/invalid-section-name.yaml |
Commit
6fc289191600cfb76a3d3b469c592caee19fca4f
by grimar[obj2yaml] - Fix a comment. NFC. I forgot to address this nit before committing.. llvm-svn: 375405
|
 | llvm/test/tools/obj2yaml/invalid-section-name.yaml |
Commit
a48633b5bbbbe9e20a7199eaed651ff6024d7967
by David CARLIERFix llvm signal tests build. llvm-svn: 375406
|
 | llvm/unittests/Support/SignalsTest.cpp |
Commit
bac5f6bd21de81a9041a94c12b49eb108dbc77c4
by gchatelet[Alignment][NFC] TargetCallingConv::setOrigAlign and TargetLowering::getABIAlignmentForCallingConv Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: sdardis, hiraditya, jrtc27, atanasyan, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69243 llvm-svn: 375407
|
 | llvm/lib/Target/ARM/ARMFastISel.cpp |
 | llvm/lib/CodeGen/SelectionDAG/FastISel.cpp |
 | llvm/include/llvm/CodeGen/TargetCallingConv.h |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/Target/ARM/ARMCallLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.h |
 | llvm/lib/Target/Mips/MipsCallLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/Mips/MipsISelLowering.h |
 | llvm/lib/CodeGen/GlobalISel/CallLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
Commit
2bf01dcbaa6723c9c41f8d6005a1f69818ddbd23
by grimar[llvm/Object] - Make ELFObjectFile::getRelocatedSection return Expected<section_iterator> It returns just a section_iterator currently and have a report_fatal_error call inside. This change adds a way to return errors and handle them on caller sides. The patch also changes/improves current users and adds test cases. Differential revision: https://reviews.llvm.org/D69167 llvm-svn: 375408
|
 | llvm/test/tools/llvm-readobj/stack-sizes.test |
 | llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFContext.cpp |
 | llvm/include/llvm/Object/ObjectFile.h |
 | llvm/lib/Object/ObjectFile.cpp |
 | llvm/test/tools/llvm-dwarfdump/elf-broken-reloc-target.yaml |
 | llvm/test/tools/llvm-objdump/X86/elf-disassemble-relocs.test |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/test/tools/llvm-cxxdump/broken-reloc-sec.test |
 | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp |
 | llvm/test/tools/llvm-objdump/relocations-elf.test |
 | llvm/tools/llvm-objdump/llvm-objdump.cpp |
 | llvm/include/llvm/Object/ELFObjectFile.h |
 | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp |
Commit
9010f6ad2fcaff3ae72375d51021bd95218d9091
by jay.foadSimplify usage of setFPAttrs. In some cases using the return value of setFPAttrs simplifies the code. In other cases it complicates the code with ugly casts, so stop doing it. NFC. llvm-svn: 375409
|
 | llvm/include/llvm/IR/IRBuilder.h |
Commit
5df90cd71c3960eb143c0d3aec03af6a7b024260
by gchatelet[Alignment][NFC] TargetCallingConv::setByValAlign Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69248 llvm-svn: 375410
|
 | llvm/include/llvm/CodeGen/TargetCallingConv.h |
 | llvm/lib/CodeGen/GlobalISel/CallLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/FastISel.cpp |
Commit
d7b77f2203dd09e8d6ab30128cc8b8ae7313c0ee
by david.green[ARM] Add qadd lowering from a sadd_sat This lowers a sadd_sat to a qadd by treating it as legal. Also adds qsub at the same time. The qadd instruction sets the q flag, but we already have many cases where we do not model this in llvm. Differential Revision: https://reviews.llvm.org/D68976 llvm-svn: 375411
|
 | llvm/lib/Target/ARM/ARMInstrInfo.td |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/test/CodeGen/ARM/sadd_sat_plus.ll |
 | llvm/test/CodeGen/ARM/ssub_sat_plus.ll |
 | llvm/test/CodeGen/ARM/sadd_sat.ll |
 | llvm/test/CodeGen/ARM/ssub_sat.ll |
 | llvm/test/CodeGen/ARM/qdadd.ll |
 | llvm/lib/Target/ARM/ARMInstrThumb2.td |
 | llvm/lib/Target/ARM/ARMSubtarget.h |
Commit
fe263c4f0f8b123ed335dc287524bc558eec0e16
by gbreynoo[docs][llvm-ar] Update llvm-ar command guide The llvm-ar command guide had not been updated in some time, it was missing current functionality and contained information that was out of date. This change: - Updates the use of reStructuredText directives, as seen in other tools command guides. - Updates the command synopsis. - Updates the descriptions of the tool behaviour. - Updates the options section. - Adds details of MRI script functionality. - Removes the sections "Standards" and "File Format" Differential Revision: https://reviews.llvm.org/D68998 llvm-svn: 375412
|
 | llvm/docs/CommandGuide/llvm-ar.rst |
Commit
c7a76d6bf011754a0d3e9449c77b3cfa4bb01f6e
by gchatelet[Alignment][NFC] Add a helper function to DataLayout Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69258 llvm-svn: 375413
|
 | llvm/include/llvm/IR/DataLayout.h |
 | llvm/unittests/IR/DataLayoutTest.cpp |
Commit
0765a4c2889031cf6a221f6f62f6ddb1ab535656
by david.green[ARM] Extra qdadd patterns This adds some new qdadd patterns to go along with the other recently added qadd's. Differential Revision: https://reviews.llvm.org/D68999 llvm-svn: 375414
|
 | llvm/lib/Target/ARM/ARMInstrThumb2.td |
 | llvm/test/CodeGen/ARM/qdadd.ll |
 | llvm/lib/Target/ARM/ARMInstrInfo.td |
Commit
9129a281cd5b8b1fb804be1de396de4a42676570
by kkleine[lldb] drop .symtab removal in minidebuginfo tests Summary: After D69041, we no longer have to manually remove the .symtab section once yaml2obj was run. Reviewers: espindola, alexshap Subscribers: emaste, arichardson, MaskRay, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69254 llvm-svn: 375415
|
 | lldb/test/Shell/ObjectFile/ELF/minidebuginfo-find-symbols.yaml |
 | lldb/test/Shell/ObjectFile/ELF/minidebuginfo-no-lzma.yaml |
 | lldb/test/Shell/ObjectFile/ELF/minidebuginfo-corrupt-xz.yaml |
Commit
5e1e83ee23feb55c6791c2ee5398cf1de159ccff
by gchatelet[Alignment][NFC] Instructions::getLoadStoreAlignment Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69256 llvm-svn: 375416
|
 | llvm/include/llvm/IR/Instructions.h |
 | llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
Commit
3edb41654650d5d0ad02e5f6af3c187cf0c59fd0
by david.green[Types] Define a getWithNewBitWidth for Types and make use of it This is designed to change the bitwidth of a type without altering the number of vector lanes. Also useful in D68651. Otherwise an NFC. Differential Revision: https://reviews.llvm.org/D69139 llvm-svn: 375417
|
 | llvm/include/llvm/CodeGen/BasicTTIImpl.h |
 | llvm/include/llvm/IR/DerivedTypes.h |
 | llvm/include/llvm/IR/Type.h |
Commit
609dfcbda9c6f4c5654baca8a24659e6079935f8
by jay.foadPre-commit test cases for D64713. llvm-svn: 375418
|
 | llvm/test/Transforms/InstCombine/fmul.ll |
 | llvm/test/Transforms/InstCombine/mul.ll |
Commit
301b4128acbdbf829d4c92907f2a1784b61e83b0
by gchatelet[Alignment][NFC] Finish transition for `Loads` Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, asbirlea, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69253 llvm-svn: 375419
|
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp |
 | llvm/lib/CodeGen/MachineOperand.cpp |
 | llvm/lib/Analysis/Loads.cpp |
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp |
 | llvm/lib/Analysis/MemDerefPrinter.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |
 | llvm/include/llvm/Analysis/Loads.h |
 | llvm/lib/Transforms/Scalar/SROA.cpp |
Commit
d499d1cedfe460f6e2aa8fcbadc8c784fa960d26
by xiangxdh[NFC] Cleanup with variable name IsPPC64 & IsDarwin Clean up PPCAsmPrinter with IsPPC64 and IsDarwin. Differential Revision: https://reviews.llvm.org/D69259 llvm-svn: 375420
|
 | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp |
Commit
22755e4ea8fcb0e6f5b4fd0cbfcdff2a3dcf87a3
by gchateletFix Polly llvm-svn: 375421
|
 | polly/lib/Analysis/ScopBuilder.cpp |
 | polly/lib/Analysis/ScopDetection.cpp |
Commit
7a79e10a82e0d5f84385566493823959dc1697b3
by Raphael Isemann[lldb] Add test for executing static initializers in expression command llvm-svn: 375422
|
 | lldb/packages/Python/lldbsuite/test/commands/expression/static-initializers/main.cpp |
 | lldb/packages/Python/lldbsuite/test/commands/expression/static-initializers/Makefile |
 | lldb/packages/Python/lldbsuite/test/commands/expression/static-initializers/TestStaticInitializers.py |
Commit
122e7af03df6f4d4f64db016c7183d0045690558
by Adrian PrantlPCH debug info: Avoid appending the source directory to an absolute path When building a precompiled header in -fmodule-format=obj (i.e., `-gmodules) in an absolute path, the locig in CGDebugInfo::createCompileUnit would unconditionally append the source directory to the -main-file-name. This patch avoids that behavior for absolute paths. rdar://problem/46045865 Differential Revision: https://reviews.llvm.org/D69213 llvm-svn: 375423
|
 | clang/test/PCH/debug-info-pch-container-path.c |
 | clang/lib/CodeGen/CGDebugInfo.cpp |
Commit
814548ec8e1bf85748bc2aa3be173f20267deca4
by sander.desmalen[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize (Take 2) Commit message from D66935: This patch fixes a bug exposed by D65653 where a subsequent invocation of `determineCalleeSaves` ends up with a different size for the callee save area, leading to different frame-offsets in debug information. In the invocation by PEI, `determineCalleeSaves` tries to determine whether it needs to spill an extra callee-saved register to get an emergency spill slot. To do this, it calls 'estimateStackSize' and manually adds the size of the callee-saves to this. PEI then allocates the spill objects for the callee saves and the remaining frame layout is calculated accordingly. A second invocation in LiveDebugValues causes estimateStackSize to return the size of the stack frame including the callee-saves. Given that the size of the callee-saves is added to this, these callee-saves are counted twice, which leads `determineCalleeSaves` to believe the stack has become big enough to require spilling an extra callee-save as emergency spillslot. It then updates CalleeSavedStackSize with a larger value. Since CalleeSavedStackSize is used in the calculation of the frame offset in getFrameIndexReference, this leads to incorrect offsets for variables/locals when this information is recalculated after PEI. This patch fixes the lldb unit tests in `functionalities/thread/concurrent_events/*` Changes after D66935: Ensures AArch64FunctionInfo::getCalleeSavedStackSize does not return the uninitialized CalleeSavedStackSize when running `llc` on a specific pass where the MIR code has already been expected to have gone through PEI. Instead, getCalleeSavedStackSize (when passed the MachineFrameInfo) will try to recalculate the CalleeSavedStackSize from the CalleeSavedInfo. In debug mode, the compiler will assert the recalculated size equals the cached size as calculated through a call to determineCalleeSaves. This fixes two tests: test/DebugInfo/AArch64/asan-stack-vars.mir test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir that otherwise fail when compiled using msan. Reviewed By: omjavaid, efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D68783 llvm-svn: 375425
|
 | llvm/lib/Target/ARM/ARMFrameLowering.cpp |
 | llvm/lib/Target/ARM/ARMFrameLowering.h |
 | llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h |
 | llvm/lib/CodeGen/RegUsageInfoCollector.cpp |
 | llvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir |
 | llvm/lib/CodeGen/LiveDebugValues.cpp |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/include/llvm/CodeGen/TargetFrameLowering.h |
 | llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp |
 | llvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir |
Commit
0c5df8dbe561949050a7796aa6a83de164f95fed
by llvm-devIndVarSimplify - silence static analyzer dyn_cast<> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us. llvm-svn: 375426
|
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
Commit
10d4b752a7fcb70d87dd3ffe7264aa5cfa8a7a76
by llvm-devCrossDSOCFI - silence static analyzer dyn_cast<> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us. llvm-svn: 375427
|
 | llvm/lib/Transforms/IPO/CrossDSOCFI.cpp |
Commit
783d3c4f0aae65483e8fa8281f84774e09b65a49
by llvm-devGuardWidening - silence static analyzer null dereference warning with assertion. NFCI. llvm-svn: 375428
|
 | llvm/lib/Transforms/Scalar/GuardWidening.cpp |
Commit
57e8f0b05545ded4f2da1979ee9b19af55f3c004
by llvm-devGVNHoist - silence static analyzer dyn_cast<> null dereference warning in hasEHOrLoadsOnPath call. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us. llvm-svn: 375429
|
 | llvm/lib/Transforms/Scalar/GVNHoist.cpp |
Commit
ae9971255990a4f3cf93fa81a5b44dabd2aa747c
by llvm-devSystemZISelLowering - supportedAddressingMode - silence static analyzer dyn_cast<> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us. llvm-svn: 375430
|
 | llvm/lib/Target/SystemZ/SystemZISelLowering.cpp |
Commit
5827a82a5870fcb59a9fb34e6891ca0f009d282a
by Adrian PrantlUnify timeouts in gdbserver tests and ensure they are larger if ASAN is enabled. llvm-svn: 375431
|
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestLldbGdbServer.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/commandline/TestStubReverseConnect.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteProcessInfo.py |
Commit
ffd87cb46a7becc61247bacdb9dc1718856fcdd9
by Raphael Isemann[NFC] Add missing include to fix modules build This header doesn't seem to be parsable on its own and breaks the module build therefore with the following error: While building module 'LLVM_Backend' imported from llvm-project/llvm/lib/CodeGen/MachineScheduler.cpp:14: In file included from <module-includes>:62: llvm-project/llvm/include/llvm/CodeGen/MachinePipeliner.h:91:20: error: declaration of 'AAResultsWrapperPass' must be imported from module 'LLVM_Analysis.AliasAnalysis' before it is required AU.addRequired<AAResultsWrapperPass>(); ^ llvm-project/llvm/include/llvm/Analysis/AliasAnalysis.h:1157:7: note: previous declaration is here class AAResultsWrapperPass : public FunctionPass { ^ llvm-project/llvm/lib/CodeGen/MachineScheduler.cpp:14:10: fatal error: could not build module 'LLVM_Backend' ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 errors generated. llvm-svn: 375433
|
 | llvm/include/llvm/CodeGen/MachinePipeliner.h |
Commit
67854aa33dda6452b04f51715d558c0db705fbdb
by llvm-devFix Wdocumentation warning. NFCI. llvm-svn: 375434
|
 | clang/include/clang/AST/ExprCXX.h |
Commit
0a803dd8229cc712ca594680ba47b631beee9a13
by llvm-dev[PowerPC] Regenerate test for D52431 llvm-svn: 375435
|
 | llvm/test/CodeGen/PowerPC/pr42492.ll |
Commit
1f43ea41c330d1b0580b601e55f641f03ddced04
by bjorn.a.petterssonPrune Pass.h include from DataLayout.h. NFCI Summary: Reduce include dependencies by no longer including Pass.h from DataLayout.h. That include seemed irrelevant to DataLayout, as well as being irrelevant to several users of DataLayout. Reviewers: rnk Reviewed By: rnk Subscribers: mehdi_amini, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D69261 llvm-svn: 375436
|
 | llvm/include/llvm/IR/PassManager.h |
 | llvm/include/llvm/IR/DataLayout.h |
 | llvm/include/llvm/IR/Module.h |
 | clang/lib/Tooling/AllTUsExecution.cpp |
 | llvm/unittests/IR/ModuleTest.cpp |
 | llvm/tools/llvm-profdata/llvm-profdata.cpp |
 | llvm/lib/Transforms/Utils/CanonicalizeAliases.cpp |
Commit
78424e5f8417f5014006e951dbe813d092cb567f
by bjorn.a.petterssonPrune include of DataLayout.h from include/clang/Basic/TargetInfo.h. NFC Summary: Use a forward declaration of DataLayout instead of including DataLayout.h in clangs TargetInfo.h. This reduces include dependencies toward DataLayout.h (and other headers such as DerivedTypes.h, Type.h that is included by DataLayout.h). Needed to move implemantation of TargetInfo::resetDataLayout from TargetInfo.h to TargetInfo.cpp. Reviewers: rnk Reviewed By: rnk Subscribers: jvesely, nhaehnle, cfe-commits, llvm-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69262 llvm-svn: 375438
|
 | clang/lib/Basic/TargetInfo.cpp |
 | clang/lib/Basic/Targets/AMDGPU.cpp |
 | clang/include/clang/Basic/TargetInfo.h |
 | clang/unittests/AST/DeclTest.cpp |
 | clang/lib/Frontend/InitPreprocessor.cpp |
Commit
0cfd9e5b580f06d63be7054ba4efa0524011f096
by maskray[test] Merge Driver/as-w-warnings.c into as-no-warnings.c For -integrated-as RUN lines we can remove -target. llvm-svn: 375439
|
 | clang/test/Driver/as-w-option.c |
 | clang/test/Driver/as-no-warnings.c |
Commit
afb163f53ad567d72757e05c95e4059d3eb8de24
by llvm-devSemaExceptionSpec - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us. llvm-svn: 375440
|
 | clang/lib/Sema/SemaExceptionSpec.cpp |
Commit
ca7f4d8b85b0e1f2f7ab4afab8a31b6aee5964cb
by lebedev.ri[NFC][CVP] Add `shl` no-wrap deduction test coverage llvm-svn: 375441
|
 | llvm/test/Transforms/CorrelatedValuePropagation/shl.ll |
Commit
87cb734c04beab4731b51ff6763f5e63a9e604d6
by scott[Clang] Add VerboseOutputStream to CompilerInstance Remove one instance of a hardcoded output stream in CompilerInstance::ExecuteAction. There are still other cases of output being hard-coded to standard streams in ExecuteCompilerInvocation, but this patch covers the case when no flags like -version or -help are passed, namely the "X warnings and Y errors generated." diagnostic. Differential Revision: https://reviews.llvm.org/D53768 llvm-svn: 375442
|
 | clang/unittests/Frontend/OutputStreamTest.cpp |
 | clang/lib/Frontend/CompilerInstance.cpp |
 | clang/include/clang/Frontend/CompilerInstance.h |
Commit
502a509e478a5e6625b58d87b484aacd2387c64d
by llvm-devSemaTemplateDeduction - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us. llvm-svn: 375443
|
 | clang/lib/Sema/SemaTemplateDeduction.cpp |
Commit
8f2dac471ad9acb751f8424e3c2dd13d5a709e15
by sander.desmalenReverted r375425 as it broke some buildbots. llvm-svn: 375444
|
 | llvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir |
 | llvm/include/llvm/CodeGen/TargetFrameLowering.h |
 | llvm/lib/CodeGen/LiveDebugValues.cpp |
 | llvm/lib/CodeGen/RegUsageInfoCollector.cpp |
 | llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp |
 | llvm/lib/Target/ARM/ARMFrameLowering.cpp |
 | llvm/lib/Target/ARM/ARMFrameLowering.h |
 | llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir |
Commit
7c15c4fb1745eb80d034f1ce3e2313b4c900bd23
by llvm-dev[X86] Rename matchBitOpReduction to matchScalarReduction. NFCI. This doesn't need to be just for bitops, but the ops do need to be fully associative. llvm-svn: 375445
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
33092194f2cefecc75b0fd90ea21843e3550d206
by Stanislav.Mekhanoshin[AMDGPU] Select AGPR in PHI operand legalization If a PHI defines AGPR legalize its operands to AGPR. At the moment we can get an AGPR PHI with VGPR operands. I am not aware of any problems as it seems to be handled gracefully in RA, but this is not right anyway. It also slightly decreases VGPR pressure in some cases because we do not have to a copy via VGPR. Differential Revision: https://reviews.llvm.org/D69206 llvm-svn: 375446
|
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/mfma-loop.ll |
Commit
b5234b64af83cb607e358eb77555f7f30ec0ced4
by Matthew.ArsenaultAMDGPU: Slightly restructure m0 init code This will allow using another operation to produce the glue in a future change. llvm-svn: 375447
|
 | llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp |
Commit
dd6cf159bab7cfa5dd61670d5048dab48c934eba
by Matthew.ArsenaultAMDGPU: Stop adding m0 implicit def to SGPR spills r375293 removed the SGPR spilling with scalar stores path, so this is no longer necessary. This also always had the defect of adding the def even when this path wasn't in use. llvm-svn: 375448
|
 | llvm/test/CodeGen/AMDGPU/stack-slot-color-sgpr-vgpr-spills.mir |
 | llvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
Commit
8ebbf25cb1e9b2c95903917b2aa72363e5b20a42
by Matthew.ArsenaultAMDGPU: Erase redundant redefs of m0 in SIFoldOperands Only handle simple inter-block redefs of m0 to the same value. This avoids interference from redefs of m0 in SILoadStoreOptimzer. I was initially teaching that pass to ignore redefs of m0, but having them not exist beforehand is much simpler. This is in preparation for deleting the current special m0 handling in SIFixSGPRCopies to allow the register coalescer to handle the difficult cases. llvm-svn: 375449
|
 | llvm/test/CodeGen/AMDGPU/fold-operands-remove-m0-redef.mir |
 | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp |
Commit
38038f116f7b948a700e0edc4d3687c7b7fda926
by Matthew.ArsenaultAMDGPU: Use CopyToReg for interp intrinsic lowering This doesn't use the default value, so doesn't benefit from the hack to help optimize it. llvm-svn: 375450
|
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.f16.ll |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
Commit
6f0ae81512c17ae8fb1033dc4e0b3d4c2424742c
by quentin.colombet[GISel][CombinerHelper] Add a combine turning shuffle_vector into concat_vectors Teach the CombinerHelper how to turn shuffle_vectors, that concatenate vectors, into concat_vectors and add this combine to the AArch64 pre-legalizer combiner. Differential Revision: https://reviews.llvm.org/D69149 llvm-svn: 375452
|
 | llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector.mir |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h |
Commit
e5ecba4f53e77210c960606b4a3b5a411a4d5823
by dallasftball[clang-fuzzer] Add new fuzzer target for Objective-C Summary: - Similar to that of `clang-fuzzer` itself but instead only targets Objective-C source files via cc1 - Also adds an example corpus directory containing some input for Objective-C Subscribers: mgorny, jfb, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69171 llvm-svn: 375453
|
 | clang/tools/clang-fuzzer/CMakeLists.txt |
 | clang/tools/clang-fuzzer/ClangFuzzer.cpp |
 | clang/tools/clang-fuzzer/Dockerfile |
 | clang/tools/clang-fuzzer/corpus_examples/objc/SharedInstance.m |
 | clang/tools/clang-fuzzer/handle-cxx/handle_cxx.cpp |
 | clang/tools/clang-fuzzer/corpus_examples/objc/ClassCategory.m |
 | clang/tools/clang-fuzzer/ClangObjectiveCFuzzer.cpp |
 | clang/tools/clang-fuzzer/corpus_examples/objc/ClassExtension.m |
 | clang/tools/clang-fuzzer/handle-cxx/handle_cxx.h |
 | clang/tools/clang-fuzzer/corpus_examples/objc/BasicClass.m |
 | clang/tools/clang-fuzzer/README.txt |
Commit
ed870cce676ec873d5d0c9e084744ffba0eb67fc
by Adrian PrantlFound more timeouts to unify. llvm-svn: 375454
|
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteThreadsInStopReply.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteKill.py |
Commit
7cd7f4a83b7a4ab852734ad9188dde14dcfb5072
by lebedev.ri[CVP] No-wrap deduction for `shl` Summary: This is the last `OverflowingBinaryOperator` for which we don't deduce flags. D69217 taught `ConstantRange::makeGuaranteedNoWrapRegion()` about it. The effect is better than of the `mul` patch (D69203): | statistic | old | new | delta | % change | | correlated-value-propagation.NumAddNUW | 7145 | 7144 | -1 | -0.0140% | | correlated-value-propagation.NumAddNW | 12126 | 12125 | -1 | -0.0082% | | correlated-value-propagation.NumAnd | 443 | 446 | 3 | 0.6772% | | correlated-value-propagation.NumNSW | 5986 | 7158 | 1172 | 19.5790% | | correlated-value-propagation.NumNUW | 10512 | 13304 | 2792 | 26.5601% | | correlated-value-propagation.NumNW | 16498 | 20462 | 3964 | 24.0272% | | correlated-value-propagation.NumShlNSW | 0 | 1172 | 1172 | | | correlated-value-propagation.NumShlNUW | 0 | 2793 | 2793 | | | correlated-value-propagation.NumShlNW | 0 | 3965 | 3965 | | | instcount.NumAShrInst | 13824 | 13790 | -34 | -0.2459% | | instcount.NumAddInst | 277584 | 277586 | 2 | 0.0007% | | instcount.NumAndInst | 66061 | 66056 | -5 | -0.0076% | | instcount.NumBrInst | 709153 | 709147 | -6 | -0.0008% | | instcount.NumICmpInst | 483709 | 483708 | -1 | -0.0002% | | instcount.NumSExtInst | 79497 | 79496 | -1 | -0.0013% | | instcount.NumShlInst | 40691 | 40654 | -37 | -0.0909% | | instcount.NumSubInst | 61997 | 61996 | -1 | -0.0016% | | instcount.NumZExtInst | 68208 | 68211 | 3 | 0.0044% | | instcount.TotalBlocks | 843916 | 843910 | -6 | -0.0007% | | instcount.TotalInsts | 7387528 | 7387448 | -80 | -0.0011% | Reviewers: nikic, reames, sanjoy, timshen Reviewed By: nikic Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69277 llvm-svn: 375455
|
 | llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll |
 | llvm/test/Transforms/CorrelatedValuePropagation/shl.ll |
 | llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp |
Commit
8c6913a07bf5e8e4888380f7dfd6611b1bb1fff2
by jlettner[lit] Remove redundancy from names and comments llvm-svn: 375456
|
 | llvm/utils/lit/lit/worker.py |
 | llvm/utils/lit/lit/LitTestCase.py |
 | llvm/utils/lit/lit/run.py |
Commit
ef9a0278f0ac3ccf5eb3bd5f8716a930685402e4
by Matthew.ArsenaultAMDGPU: Select basic interp directly from intrinsics llvm-svn: 375457
|
 | llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h |
Commit
3330cad630772c76fcf5b49bb25d973f43de64aa
by jlettner[lit] Simplify test scheduling via multiprocessing.Pool llvm-svn: 375458
|
 | llvm/utils/lit/lit/run.py |
Commit
3434472ed74141848634b5eb3cd625d651e22562
by Jonas DevlieghereXFAIL TestLocalVariables.py on Windows This test has been failing for a while on the Windows bot. https://bugs.llvm.org/show_bug.cgi?id=43752 llvm-svn: 375459
|
 | lldb/packages/Python/lldbsuite/test/lang/c/local_variables/TestLocalVariables.py |
Commit
97263fa2ddd21661b90085845fed61b9b5dec367
by Austin.KerbowAMDGPU/GlobalISel: Legalize fast unsafe FDIV Reviewers: arsenm Reviewed By: arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, rovka, dstuttard, tpr, t-tye, hiraditya, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69231 llvm-svn: 375460
|
 | llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fast-unsafe-fdiv.mir |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h |
Commit
0b4368cbfbaf477c170b76e7704ce5e745cc0178
by Lang Hames[examples] Add a dependency on ExecutionEngine to LLJITWithObjectCache example. ExecutionEngine.cpp contains the anchor() for the ObjectCache base class, so we need an explicit dependency on it. Patch by Stephen Neuendorffer. Thanks Stephen! llvm-svn: 375461
|
 | llvm/examples/LLJITExamples/LLJITWithObjectCache/CMakeLists.txt |
Commit
95c184cd0aaf2ba749b08bb1a2af9d3f57ed3ca1
by llvm-dev[X86][SSE] Add OR(EXTRACTELT(X,0),OR(EXTRACTELT(X,1))) movmsk v2X64 tests llvm-svn: 375462
|
 | llvm/test/CodeGen/X86/movmsk-cmp.ll |
Commit
b446356bf33ef81f27ab84b9a804f153c2328217
by llvm-dev[X86][SSE] Add OR(EXTRACTELT(X,0),OR(EXTRACTELT(X,1))) -> MOVMSK+CMP reduction combine llvm-svn: 375463
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/movmsk-cmp.ll |
Commit
667c2eb08b92907b260aee64a25250f610fcdc30
by Adrian PrantlFactor out common test functionality into a helper class. (NFC) llvm-svn: 375464
|
 | lldb/unittests/Expression/DWARFExpressionTest.cpp |
Commit
e57fe85a599a8cc4990d6f4605f86b89dcb952b3
by Adrian Prantlwhitespace cleanup llvm-svn: 375465
|
 | lldb/unittests/Expression/DWARFExpressionTest.cpp |
Commit
8896d073b1900d34dda4cade101409d08dc0f7dd
by bigcheesegs[Implicit Modules] Add -cc1 option -fmodules-strict-context-hash which includes search paths and diagnostics. This is a recommit of r375322 and r375327 with a fix for the Windows test breakage. llvm-svn: 375466
|
 | clang/test/Modules/context-hash.c |
 | clang/docs/Modules.rst |
 | clang/include/clang/Driver/CC1Options.td |
 | clang/include/clang/Lex/HeaderSearchOptions.h |
 | clang/lib/Frontend/CompilerInvocation.cpp |
Commit
cb92413c520854bfa3c3958829bde24839c80e56
by joergFix -fuse-init-array decision logic on NetBSD For NetBSD 9 and later, it is the default. On older versions, only ARM and AArch64 use it by default. llvm-svn: 375468
|
 | clang/lib/Driver/ToolChains/NetBSD.cpp |
 | clang/test/Driver/netbsd.c |
Commit
3292facc0a2a87e0f079be1b54e081801cc9bc0d
by Louis Dionne[NFC] Fix typos in CMake comment llvm-svn: 375469
|
 | libcxx/include/CMakeLists.txt |
Commit
e25898d93f7649fe825a7f5232b659596069e0f1
by llvm-dev[X86][BMI] Pull out schedule classes from bmi_andn<> and bmi_bls<> Stop hardwiring classes llvm-svn: 375470
|
 | llvm/lib/Target/X86/X86InstrArithmetic.td |
 | llvm/lib/Target/X86/X86InstrInfo.td |
Commit
e17b658fc75337c1de0cdd467f35cfa4a85939b1
by eugeni.stepanov[hwasan] Workaround unwinder issues in try-catch test. Android links the unwinder library to every DSO. The problem is, unwinder has global state, and hwasan implementation of personality function wrapper happens to rub it the wrong way. Switch the test to static libc++ as a temporary workaround. llvm-svn: 375471
|
 | compiler-rt/test/hwasan/TestCases/try-catch.cpp |
Commit
d56203201f8a1f11abb913c4dfc0bf9c61432d1a
by eugeni.stepanovFix lld detection in standalone compiler-rt. Summary: Right now all hwasan tests on Android are silently disabled because they require "has_lld" and standalone compiler-rt can not (and AFAIK was never able to) set it. Reviewers: pcc, dyung Subscribers: dberris, mgorny, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D69196 llvm-svn: 375472
|
 | compiler-rt/cmake/config-ix.cmake |
 | compiler-rt/CMakeLists.txt |
Commit
b94ac8a2632968d3961d528faa75d68a517b3bc4
by jlettner[lit] Move increase_process_limit to ParallelRun Increasing the process limit only makes sense when we use multiple processes. llvm-svn: 375474
|
 | llvm/utils/lit/lit/run.py |
 | llvm/utils/lit/lit/main.py |
Commit
04edd1893c2d0f35880fd5f81e78dc23979df0b9
by lawrence_dannaremove multi-argument form of PythonObject::Reset() Summary: With this patch, only the no-argument form of `Reset()` remains in PythonDataObjects. It also deletes PythonExceptionState in favor of PythonException, because the only call-site of PythonExceptionState was also using Reset, so I cleaned up both while I was there. Reviewers: JDevlieghere, clayborg, labath, jingham Reviewed By: labath Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69214 llvm-svn: 375475
|
 | lldb/scripts/Python/python-wrapper.swig |
 | lldb/scripts/Python/python-typemaps.swig |
 | lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h |
 | lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp |
 | lldb/include/lldb/Interpreter/ScriptInterpreter.h |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h |
 | lldb/scripts/lldb.swig |
 | lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.h |
 | lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt |
 | lldb/unittests/ScriptInterpreter/Python/PythonExceptionStateTests.cpp |
 | lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp |
 | lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.cpp |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp |
 | lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt |
 | lldb/scripts/Python/python-extensions.swig |
Commit
d602e0d0cab270761553c79d2e42b8ac6b756157
by lawrence_dannafix PythonDataObjectsTest.TestExceptions on windows Looks like on windows googlemock regexes treat newlines differently from on darwin. This patch fixes the regex in this test so it will work on both. Fixes: https://reviews.llvm.org/D69214 llvm-svn: 375477
|
 | lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp |
Commit
114de1eab29c06ac097c0e97feb713d616798f7a
by michael.hliaoMinor coding style fix. NFC. llvm-svn: 375478
|
 | clang/lib/Sema/SemaLambda.cpp |
Commit
fb042b094fda351b59f1b00fe6235fc55d0f79b9
by kousikkRefactor DependencyScanningTool to its own file Summary: There's no behavior change - just moving DependencyScanningTool to its own file since this tool can be reused across both clang-scan-deps binary and an interface exposed as part of libClang APIs. Reviewers: arphaman, jkorous, Bigcheese, dexonsmith Subscribers: mgorny, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69186 llvm-svn: 375483
|
 | clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp |
 | clang/tools/clang-scan-deps/ClangScanDeps.cpp |
 | clang/lib/Tooling/DependencyScanning/CMakeLists.txt |
 | clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h |
Commit
4e039e2720f97753b4d5d2c183cbf240c9f1e259
by llvmgnsyncbotgn build: Merge r375483 llvm-svn: 375484
|
 | llvm/utils/gn/secondary/clang/lib/Tooling/DependencyScanning/BUILD.gn |
Commit
e659fff2fb7203ae949f32b5e50d030738c33f5e
by martin[CMake] Allow overriding MSVC_DIA_SDK_DIR via CMake This eases using it in cross-msvc setups. Differential Revision: https://reviews.llvm.org/D69239 llvm-svn: 375485
|
 | llvm/cmake/config-ix.cmake |
Commit
3fe1c88bb2bdaddacbd1792c0c42ae91382cc17e
by martin[CMake] [WinMsvc] Look for includes and libs in ${MSVC_BASE}/atlmfc This is necessary if building with the DIA SDK enabled. Differential Revision: https://reviews.llvm.org/D69240 llvm-svn: 375486
|
 | llvm/cmake/platforms/WinMsvc.cmake |
Commit
64226b2df66741a97b6095ae1373154b29d2619e
by benny.kra[clang-fuzzer] Update proto fuzzer example for r375453. llvm-svn: 375487
|
 | clang/tools/clang-fuzzer/ExampleClangProtoFuzzer.cpp |
Commit
3ca2b17f847d0615f7e0d4fdd8040f3abfde941e
by benny.kra[FrontendTests] Don't actually run the full compiler, parsing is sufficient. llvm-svn: 375488
|
 | clang/unittests/Frontend/OutputStreamTest.cpp |
Commit
2108a974f78afe5b098758e1a517cd159dcae95c
by benny.kraRevert "[FrontendTests] Don't actually run the full compiler, parsing is sufficient." This reverts commit 375488. llvm-svn: 375489
|
 | clang/unittests/Frontend/OutputStreamTest.cpp |
Commit
1876e6c83c7a713de2851af686417892cd717adc
by ro[builtins][test] Avoid unportable mmap call in clear_cache_test.c Within the last two weeks, the Builtins-*-sunos :: clear_cache_test.c started to FAIL on Solaris. Running it under truss shows mmap(0x00000000, 128, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, 0, 0) Err#22 EINVAL _exit(1) While there are several possible reasons mmap can return EINVAL on Solaris, it turns out it's this one (from mmap(2)): MAP_ANON was specified, but the file descriptor was not -1. And indeed even the Linux mmap(2) documents this as unportable: MAP_ANONYMOUS The mapping is not backed by any file; its contents are initial‐ ized to zero. The fd argument is ignored; however, some imple‐ mentations require fd to be -1 if MAP_ANONYMOUS (or MAP_ANON) is specified, and portable applications should ensure this. The This patch follows this advise. Tested on x86_64-pc-linux-gnu, amd64-pc-solaris2.11 and sparcv9-sun-solaris2.11. Differential Revision: https://reviews.llvm.org/D68455 llvm-svn: 375490
|
 | compiler-rt/test/builtins/Unit/clear_cache_test.c |
Commit
ecc999101aadc8dc7d4af9fd88be10fe42674aa0
by benny.kra[FrontendTests] Try again to make test not write an output file Setting the output stream to nulls seems to work. llvm-svn: 375491
|
 | clang/unittests/Frontend/OutputStreamTest.cpp |
Commit
78d632d1055467dd2880dc9ff6dfdc554505eda7
by grimar[LLVMDebugInfoPDB] - Use cantFail() instead of assert(). Currently injected-sources-native.test fails with "Expected<T> value was in success state. (Note: Expected<T> values in success mode must still be checked prior to being destroyed)" when llvm is compiled with LLVM_ENABLE_ABI_BREAKING_CHECKS in Release. The problem is that getStringForID returns Expected<StringRef> and Expected value must always be checked, even if it is in success state. Checking with assert only helps in Debug and is wrong. Differential revision: https://reviews.llvm.org/D69251 llvm-svn: 375492
|
 | llvm/lib/DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp |
Commit
0f4186779e0415de8c771cba32f10b3023700ad7
by eleviant[ThinLTO] Don't internalize during promotion Differential revision: https://reviews.llvm.org/D69107 llvm-svn: 375493
|
 | llvm/lib/Transforms/IPO/FunctionImport.cpp |
 | llvm/test/ThinLTO/X86/not-internalized.ll |
 | llvm/test/ThinLTO/X86/weak_externals.ll |
Commit
17f5d2b1a5c942f1c0576c50274dbb07b6dc7036
by gchatelet[Alignment][NFC] Attributes use Align/MaybeAlign Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: jholewinski, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69278 llvm-svn: 375495
|
 | llvm/include/llvm/IR/Attributes.h |
 | llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp |
 | llvm/unittests/IR/AttributesTest.cpp |
 | llvm/include/llvm/IR/Function.h |
 | llvm/lib/IR/AttributeImpl.h |
 | llvm/lib/IR/Attributes.cpp |
 | llvm/include/llvm/IR/InstrTypes.h |
Commit
8e050e41a4b1193592f9b4298f14935f5878ae5f
by gchatelet[Alignment][NFC] Use MaybeAlign in AttrBuilder Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69300 llvm-svn: 375496
|
 | llvm/lib/IR/Attributes.cpp |
 | llvm/lib/AsmParser/LLParser.cpp |
 | llvm/include/llvm/IR/Attributes.h |
 | llvm/lib/AsmParser/LLParser.h |
Commit
f2c8f3b181e1a0f1a45e6893d15317386bf73977
by nemanja.i.ibm[PowerPC] Turn on CR-Logical reducer pass This re-commits r375152 which was pulled in r375233 because it broke the EXPENSIVE_CHECKS bot on Windows. The reason for the failure was a bug in the pass that the commit turned on by default. This patch fixes that bug and turns the pass back on. This patch has been verified on the buildbot that originally failed thanks to Simon Pilgrim. Differential revision: https://reviews.llvm.org/D52431 llvm-svn: 375497
|
 | llvm/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll |
 | llvm/test/CodeGen/PowerPC/tocSaveInPrologue.ll |
 | llvm/lib/Target/PowerPC/PPCTargetMachine.cpp |
 | llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp |
 | llvm/test/CodeGen/PowerPC/brcond.ll |
 | llvm/test/CodeGen/PowerPC/pr42492.ll |
 | llvm/test/CodeGen/PowerPC/vec-min-max.ll |
Commit
734c74ba14be0f4421ccd9f720e5b9309248e0f7
by gchatelet[Alignment][NFC] Convert LoadInst to MaybeAlign Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69302 llvm-svn: 375498
|
 | llvm/lib/Bitcode/Reader/BitcodeReader.cpp |
 | llvm/lib/IR/Instructions.cpp |
 | llvm/include/llvm/IR/Instructions.h |
 | llvm/lib/AsmParser/LLParser.cpp |
 | llvm/lib/Transforms/IPO/GlobalOpt.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp |
 | llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp |
 | llvm/lib/Transforms/Scalar/JumpThreading.cpp |
 | llvm/lib/Transforms/Scalar/GVN.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
Commit
5b99c189b3bfc0faa157f7ca39652c0bb8c315a7
by gchatelet[Alignment][NFC] Convert StoreInst to MaybeAlign Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69303 llvm-svn: 375499
|
 | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |
 | llvm/lib/AsmParser/LLParser.cpp |
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
 | llvm/lib/Bitcode/Reader/BitcodeReader.cpp |
 | llvm/lib/IR/Instructions.cpp |
 | llvm/include/llvm/IR/Instructions.h |
 | llvm/lib/Transforms/IPO/GlobalOpt.cpp |
Commit
e5dd30f77e10b3fa3395312045c06e5e15f9620e
by eleviant[ThinLTO] Add code comment. NFC llvm-svn: 375500
|
 | llvm/lib/Transforms/IPO/FunctionImport.cpp |
Commit
e4af9de36ca60483040af381edd10e716e7b077d
by petar.avramovic[MIPS GlobalISel] Select MSA vector generic and builtin add Select vector G_ADD for MIPS32 with MSA. We have to set bank for vector operands to fprb and selectImpl will do the rest. __builtin_msa_addv_<format> will be transformed into G_ADD in legalizeIntrinsic and selected in the same way. __builtin_msa_addvi_<format> will be directly selected into ADDVI_<format> in legalizeIntrinsic. MIR tests for it have unnecessary additional copies. Capture current state of tests with run-pass=legalizer with a test in test/CodeGen/MIR/Mips. Differential Revision: https://reviews.llvm.org/D68984 llvm-svn: 375501
|
 | llvm/test/CodeGen/MIR/Mips/setRegClassOrRegBank.ll |
 | llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/instruction-select/add_vec.mir |
 | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/add_vec_builtin.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/add_vec_builtin.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/add_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/regbankselect/add_vec.mir |
 | llvm/test/CodeGen/MIR/Mips/setRegClassOrRegBank.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/add_vec.ll |
Commit
95290827d7d01c63ac57b2cf5204215ba4ee4b06
by petar.avramovic[MIParser] Set RegClassOrRegBank during instruction parsing MachineRegisterInfo::createGenericVirtualRegister sets RegClassOrRegBank to static_cast<RegisterBank *>(nullptr). MIParser on the other hand doesn't. When we attempt to constrain Register Class on such VReg, additional COPY is generated. This way we avoid COPY instructions showing in test that have MIR input while they are not present with llvm-ir input that was used to create given MIR for a -run-pass test. Differential Revision: https://reviews.llvm.org/D68946 llvm-svn: 375502
|
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/add_vec_builtin.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/sitofp_and_uitofp.mir |
 | llvm/lib/CodeGen/MIRParser/MIParser.cpp |
 | llvm/test/CodeGen/MIR/Mips/setRegClassOrRegBank.mir |
Commit
3ef017d0669e0dfa7e34a6e58d80c8f307db6d8c
by david.green[InstCombine] Signed saturation tests. NFC llvm-svn: 375503
|
 | llvm/test/Transforms/InstCombine/sadd_sat.ll |
Commit
40c47680eb2a1cb9bb7f8598c319335731bd5204
by z.zoelec2 [libcxx] Remove shared_ptr::make_shared Summary: This patch removes `shared_ptr::make_shared` as it is not part of the standard. This patch also adds __create_with_cntrl_block, which is a help function that can be used in std::allocate_shared and std::make_shared. This is the third patch (out of 4) from D66178. Reviewers: EricWF, mclow.lists, ldionne Subscribers: christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D68805 llvm-svn: 375504
|
 | libcxx/include/memory |
Commit
186155b89c2d2a2f62337081e3ca15f676c9434b
by david.green[InstCombine] Signed saturation patterns This adds an instcombine matcher for code that attempts to perform signed saturating arithmetic by casting to a higher type. Unsigned cases are already matched, this adds extra matches for the more complex signed cases, which involves matching the min(max(add a b)) nodes with proper extends to ensure legality. Differential Revision: https://reviews.llvm.org/D68651 llvm-svn: 375505
|
 | llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp |
 | llvm/test/Transforms/InstCombine/sadd_sat.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineInternal.h |
Commit
3bf7fddeb05655d9baed4cc69e13535c677ed1dd
by tstellarUpdate git-llvm script to push to GitHub Summary: Note: This patch should not be pushed until SVN has become read-only. It should be the first patch committed directly to GitHub. This patch updates git-llvm to check for merge commits and then push changes to GitHub if none are found. All logic related to SVN has been removed. Reviewers: jyknight Subscribers: lenary, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67772
|
 | llvm/utils/git-svn/git-llvm |
Commit
0bff9bd26e3d8b424f96f66b4297a73a873c4e53
by Jonas Devlieghere[lldb] Adjust for the new class_rw_t layout. The field holding the "ro" will now be a union. If the low bit is set, then it isn't an ro and it needs to be dereferenced once more to get to it. If the low bit isn't set, then it is a proper class_ro_t No dedicated test is needed as this code path will trigger when running the existing Objective-C tests under a current version of the runtime.
|
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp |
Commit
19ca80ef0575b376e135271c7d44799803407941
by thakisgn build: make sync build work with git revs now that svn is gone
|
 | llvm/utils/gn/build/sync_source_lists_from_cmake.py |
Commit
48f57138be55a939afc64d357f7b26220206127a
by Stanislav.Mekhanoshin[AMDGPU] Allow tied operand subreg folding Turns out it makes sense, contrarily to what comment said. Differential Revision: https://reviews.llvm.org/D69287
|
 | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp |
 | llvm/test/CodeGen/AMDGPU/fold-vgpr-copy.mir |
Commit
8be5827f85619a09fecc47544f649b7503e91396
by kbartonTest commit - add clarification to README regarding Darwin.
|
 | llvm/lib/Target/PowerPC/README.txt |
Commit
a7cebfe9c03d0561500d3ab6d7ca2cea4a197904
by michael.hliaoRelax assertions when there's really no entries. [NFC]
|
 | llvm/utils/TableGen/SequenceToOffsetTable.h |
Commit
f9b1dc5553c9d0f93eb94cc1437beb483a85098e
by Stanislav.Mekhanoshin[AMDGPU] Updated fold-vgpr-copy.mir test. NFC.
|
 | llvm/test/CodeGen/AMDGPU/fold-vgpr-copy.mir |
Commit
9b1419a9e501389ec4b98553d9e00a8e327e43d0
by lebedev.ri[NFC][LVI][CVP] Tests where pre-specified `add` no-wrap flags could be used by LVI There's `ConstantRange::addWithNoWrap()`, LVI could use it to further constrain the range, if an `add` already has some no-wrap flags specified.
|
 | llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll |
Commit
4334892e7b077feac3124b789733dbec3380db4c
by lebedev.ri[DAGCombine][ARM] x ==/!= c -> (x - c) ==/!= 0 iff '-c' can be folded into the x node. Summary: This fold, helps recover from the rest of the D62266 ARM regressions. https://rise4fun.com/Alive/TvpC Note that while the fold is quite flexible, i've restricted it to the single interesting pattern at the moment. Reviewers: efriedma, craig.topper, spatel, RKSimon, deadalnix Reviewed By: deadalnix Subscribers: javed.absar, kristof.beyls, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62450
|
 | llvm/test/CodeGen/ARM/addsubcarry-promotion.ll |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
Commit
68f5ca4e19c16f12895a6f0b9fbabc1d86c4b6b0
by Yaxun.Liu[HIP] Add option -fgpu-allow-device-init Add this option to allow device side class type global variables with non-trivial ctor/dtor. device side init/fini functions will be emitted, which will be executed by HIP runtime when the fat binary is loaded/unloaded. This feature is to facilitate implementation of device side sanitizer which requires global vars with non-trival ctors. By default this option is disabled. Differential Revision: https://reviews.llvm.org/D69268
|
 | clang/test/CodeGenCUDA/device-init-fun.cu |
 | clang/include/clang/Basic/LangOptions.def |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Driver/Options.td |
 | clang/include/clang/Basic/DiagnosticCommonKinds.td |
 | clang/include/clang/Basic/DiagnosticGroups.td |
 | clang/lib/CodeGen/CGDeclCXX.cpp |
 | clang/test/Frontend/warn-device-init-fun.cu |
 | clang/lib/Sema/SemaCUDA.cpp |
 | clang/lib/Driver/ToolChains/HIP.cpp |
Commit
aed9d6d64a38d155cd09232da5640b5ade069bd9
by simon.cook[RISCV] Add support for -ffixed-xX flags This adds support for reserving GPRs such that the compiler will not choose a register for register allocation. The implementation follows the same design as for AArch64; each reserved register becomes a target feature and used for getting the reserved registers for a given MachineFunction. The backend checks that it does not need to write to any reserved register; if it does a relevant error is generated. Differential Revision: https://reviews.llvm.org/D67185
|
 | clang/test/Driver/riscv-fixed-x-register.c |
 | llvm/lib/Target/RISCV/RISCVISelLowering.h |
 | llvm/lib/Target/RISCV/RISCVFrameLowering.cpp |
 | llvm/lib/Target/RISCV/RISCVRegisterInfo.h |
 | clang/lib/Driver/ToolChains/Arch/RISCV.cpp |
 | llvm/lib/Target/RISCV/RISCV.td |
 | llvm/test/CodeGen/RISCV/reserved-reg-errors.ll |
 | llvm/lib/Target/RISCV/RISCVSubtarget.h |
 | llvm/test/CodeGen/RISCV/reserved-regs.ll |
 | llvm/lib/Target/RISCV/RISCVSubtarget.cpp |
 | clang/include/clang/Driver/Options.td |
 | llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
Commit
e0e7d06df3ee2d176bbfe2a4382b944d4f965631
by thakisfix a few typos to test git committing
|
 | lld/include/lld/Core/Error.h |
Commit
70316d3174d39429c1ef9ad3321def6d52bc35d6
by eugenisRevert "Fix lld detection in standalone compiler-rt." Breaks sanitizer-android buildbot. This reverts commit d56203201f8a1f11abb913c4dfc0bf9c61432d1a.
|
 | compiler-rt/cmake/config-ix.cmake |
 | compiler-rt/CMakeLists.txt |
Commit
1c98ff49a30b88a2601b92e8702ff2058c4fc226
by Yaxun.LiuFix name of warn_ignored_hip_only_option Differential Revision: https://reviews.llvm.org/D69268
|
 | clang/include/clang/Basic/DiagnosticCommonKinds.td |
 | clang/lib/Frontend/CompilerInvocation.cpp |
Commit
4c539e8da1b3de38a53ef3f7497f5c45a3243b61
by hansRevert r374202"[ObjC generics] Fix not inheriting type bounds in categories/extensions." This introduced new errors, see below. Reverting until that can be investigated properly. #import <AVFoundation/AVFoundation.h> void f(int width, int height) { FourCharCode best_fourcc = kCMPixelFormat_422YpCbCr8_yuvs; NSDictionary* videoSettingsDictionary = @{ (id)kCVPixelBufferPixelFormatTypeKey : @(best_fourcc), }; } $ clang++ -c /tmp/a.mm /tmp/a.mm:6:5: error: cannot initialize a parameter of type 'KeyType<NSCopying> _Nonnull const' (aka 'const id') with an rvalue of type 'id' (id)kCVPixelBufferPixelFormatTypeKey : @(best_fourcc), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. > When a category/extension doesn't repeat a type bound, corresponding > type parameter is substituted with `id` when used as a type argument. As > a result, in the added test case it was causing errors like > > > type argument 'T' (aka 'id') does not satisfy the bound ('id<NSCopying>') of type parameter 'T' > > We are already checking that type parameters should be consistent > everywhere (see `checkTypeParamListConsistency`) and update > `ObjCTypeParamDecl` to have correct underlying type. And when we use the > type parameter as a method return type or a method parameter type, it is > substituted to the bounded type. But when we use the type parameter as a > type argument, we check `ObjCTypeParamType` that ignores the updated > underlying type and remains `id`. > > Fix by desugaring `ObjCTypeParamType` to the underlying type, the same > way we are doing with `TypedefType`. > > rdar://problem/54329242 > > Reviewers: erik.pilkington, ahatanak > > Reviewed By: erik.pilkington > > Subscribers: jkorous, dexonsmith, ributzka, cfe-commits > > Differential Revision: https://reviews.llvm.org/D66696
|
 | clang/include/clang/AST/Type.h |
 | clang/lib/AST/Type.cpp |
 | clang/test/SemaObjC/parameterized_classes_subst.m |
Commit
f86dc64bad4d1ee2bb591d567b944ea11a168d89
by llvmgnsyncbottypo fix test commit
|
 | lld/include/lld/Core/UndefinedAtom.h |
Commit
cf57be9d3491aa77feb4cb0dc9a83acf31715513
by Jinsong Ji[PowerPC][NFC] Remove deprecated Function Attrs comments
|
 | llvm/test/CodeGen/PowerPC/build-vector-tests.ll |
Commit
efd7caaa4ecc3283785a576993fe329222b0bda5
by kbartonFix broken sphinx link in CMake.rst. Reviewers: delcypher, beanz Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69325
|
 | llvm/docs/CMake.rst |
Commit
31d3c1d8b70507da0db004001b6a89a6f534544c
by Jinsong Ji[PowerPC][NFC] Remove deprecated Function Attrs comments #2
|
 | llvm/test/CodeGen/PowerPC/sms-simple.ll |
Commit
19e95ab4210bedf36f0f50d54c39e8f7f4d879f2
by Louis Dionne[NFC] Strip trailing whitespace in test to test Github committing
|
 | libcxx/test/libcxx/memory/aligned_allocation_macro.pass.cpp |
Commit
437e0e5191ca255db27e86d232020844c1fd08c8
by stl[libcxx][test][NFC] Fix comment typos. (Testing git commit access.)
|
 | libcxx/test/std/containers/sequences/array/array.cons/initializer_list.pass.cpp |
 | libcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/opgt.string_view.pointer.pass.cpp |
 | libcxx/test/std/input.output/iostreams.base/fpos/fpos.operations/subtraction.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.specalg/swap.pass.cpp |
 | libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/move_convert.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/ople.string_view.pointer.pass.cpp |
 | libcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp |
 | libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/opge.string_view.pointer.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/oplt.string_view.pointer.pass.cpp |
 | libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/pointer.pass.cpp |
 | libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.pass.cpp |
 | libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp |
 | libcxx/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/ok.pass.cpp |
 | libcxx/test/std/input.output/iostreams.base/fpos/fpos.operations/difference.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp |
 | libcxx/test/std/numerics/c.math/abs.pass.cpp |
 | libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp |
 | libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/move.pass.cpp |
 | libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/nullptr.pass.cpp |
Commit
d052a578de58cbbb638cbe2dba05242d1ff443b9
by richard[c++2a] Allow comparison functions to be explicitly defaulted. This adds some initial syntactic checking that only the appropriate function signatures can be defaulted. No implicit definitions are generated yet.
|
 | clang/include/clang/Basic/DiagnosticCommonKinds.td |
 | clang/lib/Sema/SemaDeclCXX.cpp |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/lib/AST/Decl.cpp |
 | clang/test/SemaCXX/cxx0x-defaulted-functions.cpp |
 | clang/test/CXX/class/class.compare/class.eq/p1.cpp |
 | clang/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p1.cpp |
 | clang/test/CXX/class/class.compare/class.rel/p1.cpp |
 | clang/lib/Parse/ParseDeclCXX.cpp |
 | clang/include/clang/AST/Decl.h |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/Parser/cxx0x-decl.cpp |
 | clang/test/SemaCXX/cxx17-compat.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Parse/ParseDecl.cpp |
 | clang/test/CXX/class/class.compare/class.compare.default/p1.cpp |
Commit
20bf0cf2f020ce3b344838b88d8a86e156c05443
by lebedev.ri[TargetLowering] optimizeSetCCToComparisonWithZero(): add extra sanity checks (PR43769) We should do the fold only if both constants are plain, non-opaque constants, at least that is the DAG.FoldConstantArithmetic() requirement. And if the constant we are comparing with is zero - we shouldn't be trying to do this fold in the first place. Fixes https://bugs.llvm.org/show_bug.cgi?id=43769
|
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/X86/pr43769.ll |
Commit
c46d24f5c3141e9a9f2bdd9d5c38b98feffc8760
by petar.avramovic[MIPS GlobalISel] Select MSA vector generic and builtin sub Select vector G_SUB for MIPS32 with MSA. We have to set bank for vector operands to fprb and selectImpl will do the rest. __builtin_msa_subv_<format> will be transformed into G_SUB in legalizeIntrinsic and selected in the same way. __builtin_msa_subvi_<format> will be directly selected into SUBVI_<format> in legalizeIntrinsic. Differential Revision: https://reviews.llvm.org/D69306
|
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/sub_vec.mir |
 | llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/sub_vec.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/instruction-select/sub_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/sub_vec_builtin.ll |
 | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/regbankselect/sub_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/sub_vec_builtin.mir |
Commit
d1815dacb00d2f5845449a20f6e749119962aa87
by petar.avramovic[MIPS GlobalISel] Select MSA vector generic and builtin mul Select vector G_MUL for MIPS32 with MSA. We have to set bank for vector operands to fprb and selectImpl will do the rest. Manual selection of G_MUL is now done for gprb only. __builtin_msa_mulv_<format> will be transformed into G_MUL in legalizeIntrinsic and selected in the same way. Differential Revision: https://reviews.llvm.org/D69310
|
 | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp |
 | llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp |
 | llvm/lib/Target/Mips/MipsInstructionSelector.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/instruction-select/mul_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/mul_vec_builtin.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/mul_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/regbankselect/mul_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/mul_vec_builtin.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/mul_vec.ll |
Commit
64df708400aa33376bce4b41b985716119ffa9d7
by georgerim[lib/ObjectYAML] - Add a full stop to the comment. NFC. A test commit.
|
 | llvm/lib/ObjectYAML/ELFEmitter.cpp |
Commit
74a72e684849d00dbe5cc784cf05d20fd8873cdb
by david.stenberg[DebugInfo] Stop describing imms in TargetInstrInfo's describeLoadedValue() impl Summary: The default implementation of the describeLoadedValue() hook uses the MoveImm property to determine if an instruction moves an immediate. If an instruction has that property the function returns the second operand, assuming that that is the immediate value the instruction moves. As far as I can tell, the MoveImm property does not imply that the second operand is the immediate value, nor that any other operand necessarily holds the immediate value; it just means that the instruction moves some immediate value. One example where the second operand is not the immediate is SystemZ's LZER instruction, which moves a zero immediate implicitly: $f0S = LZER. That case triggered an out-of-bound assertion when getting the operand. I have added a test case for that instruction. Another example is ARM's MVN instruction, which holds the logical bitwise NOT'd value of the immediate that is moved. For the following reproducer: extern void foo(int); int main() { foo(-11); } an incorrect call site value would be emitted: $ clang --target=arm foo.c -O1 -g -Xclang -femit-debug-entry-values \ -c -o - | ./build/bin/llvm-dwarfdump - | \ grep -A2 call_site_parameter 0x00000058: DW_TAG_GNU_call_site_parameter DW_AT_location (DW_OP_reg0 R0) DW_AT_GNU_call_site_value (DW_OP_lit10) Another example is the A2_combineii instruction on Hexagon which moves two immediates to a super-register: $d0 = A2_combineii 20, 10. Perhaps these are rare exceptions, and most MoveImm instructions hold the immediate in the second operand, but in my opinion the default implementation of the hook should only describe values that it can, by some contract, guarantee are safe to describe, rather than leaving it up to the targets to override the exceptions, as that can silently result in incorrect call site values. This patch adds X86's relevant move immediate instructions to the target's hook implementation, so this commit should be a NFC for that target. We need to do the same for ARM and AArch64. Reviewers: djtodoro, NikolaPrica, aprantl, vsk Reviewed By: vsk Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #debug-info, #llvm Differential Revision: https://reviews.llvm.org/D69109
|
 | llvm/lib/Target/X86/X86InstrInfo.cpp |
 | llvm/lib/CodeGen/TargetInstrInfo.cpp |
 | llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir |
 | llvm/test/DebugInfo/MIR/SystemZ/lit.local.cfg |
Commit
4b63ca1379a8a6399c3d29560623ee832c818919
by Mirko.Brkusanin[Mips] Use appropriate private label prefix based on Mips ABI MipsMCAsmInfo was using '$' prefix for Mips32 and '.L' for Mips64 regardless of -target-abi option. By passing MCTargetOptions to MCAsmInfo we can find out Mips ABI and pick appropriate prefix. Tags: #llvm, #clang, #lldb Differential Revision: https://reviews.llvm.org/D66795
|
 | llvm/tools/llvm-dwp/llvm-dwp.cpp |
 | llvm/test/MC/Mips/macro-li.d.s |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp |
 | llvm/tools/llvm-mc/Disassembler.h |
 | llvm/tools/llvm-exegesis/lib/Analysis.cpp |
 | llvm/tools/llvm-objdump/MachODump.cpp |
 | llvm/tools/llvm-mca/llvm-mca.cpp |
 | llvm/tools/dsymutil/DwarfStreamer.cpp |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp |
 | llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp |
 | clang/tools/driver/cc1as_main.cpp |
 | llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp |
 | llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp |
 | llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.h |
 | llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h |
 | lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp |
 | llvm/test/MC/Mips/private-prefix.s |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp |
 | llvm/test/CodeGen/Mips/compactbranches/no-beqzc-bnezc.ll |
 | llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp |
 | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp |
 | llvm/tools/llvm-objdump/llvm-objdump.cpp |
 | llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp |
 | llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp |
 | llvm/test/MC/Mips/macro-li.s.s |
 | llvm/tools/llvm-mc/llvm-mc.cpp |
 | llvm/include/llvm/Support/TargetRegistry.h |
 | llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp |
 | llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp |
 | llvm/tools/llvm-jitlink/llvm-jitlink.cpp |
 | llvm/lib/MC/MCDisassembler/Disassembler.cpp |
 | llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp |
 | llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.h |
 | llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp |
 | llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h |
 | llvm/unittests/MC/DwarfLineTables.cpp |
 | llvm/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp |
 | llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp |
 | llvm/tools/sancov/sancov.cpp |
 | llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h |
 | lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp |
 | llvm/lib/CodeGen/LLVMTargetMachine.cpp |
 | llvm/unittests/MC/MCInstPrinter.cpp |
 | llvm/unittests/ExecutionEngine/JITLink/JITLinkTestCommon.cpp |
 | llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp |
 | llvm/tools/llvm-mc/Disassembler.cpp |
 | llvm/lib/Object/ModuleSymbolTable.cpp |
 | llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h |
 | lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp |
 | llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp |
 | llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp |
 | clang/lib/Parse/ParseStmtAsm.cpp |
 | llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp |
 | llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h |
 | llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp |
Commit
40668abca4d307e02b33345cfdb7271549ff48d0
by sammccall[Support] Add a way to run a function on a detached thread This roughly mimics `std::thread(...).detach()` except it allows to customize the stack size. Required for https://reviews.llvm.org/D50993. I've decided against reusing the existing `llvm_execute_on_thread` because it's not obvious what to do with the ownership of the passed function/arguments: 1. If we pass possibly owning functions data to `llvm_execute_on_thread`, we'll lose the ability to pass small non-owning non-allocating functions for the joining case (as it's used now). Is it important enough? 2. If we use the non-owning interface in the new use case, we'll force clients to transfer ownership to the spawned thread manually, but similar code would still have to exist inside `llvm_execute_on_thread(_async)` anyway (as we can't just pass the same non-owning pointer to pthreads and Windows implementations, and would be forced to wrap it in some structure, and deal with its ownership. Patch by Dmitry Kozhevnikov! Differential Revision: https://reviews.llvm.org/D51103
|
 | llvm/lib/Support/Windows/Process.inc |
 | llvm/lib/Support/Unix/Threading.inc |
 | llvm/include/llvm/Support/Threading.h |
 | llvm/lib/Support/Threading.cpp |
 | llvm/lib/Support/Windows/Threading.inc |
 | llvm/lib/Support/Unix/Unix.h |
 | llvm/lib/Support/Windows/WindowsSupport.h |
 | llvm/unittests/Support/Threading.cpp |
Commit
7bc7fe6b789d25d48d6dc71d533a411e9e981237
by sammccallRevert "[Support] Add a way to run a function on a detached thread" This reverts commit 40668abca4d307e02b33345cfdb7271549ff48d0. This causes clang tests to fail, as stacksize=0 is being explicitly passed and is no longer a no-op.
|
 | llvm/lib/Support/Windows/WindowsSupport.h |
 | llvm/lib/Support/Windows/Process.inc |
 | llvm/unittests/Support/Threading.cpp |
 | llvm/lib/Support/Unix/Unix.h |
 | llvm/include/llvm/Support/Threading.h |
 | llvm/lib/Support/Windows/Threading.inc |
 | llvm/lib/Support/Threading.cpp |
 | llvm/lib/Support/Unix/Threading.inc |
Commit
977205b595cd65fbeb4a045daf34990d8e8a5efd
by selliott[Sanitizers] Add support for RISC-V 64-bit Summary: This has been tested with gcc trunk on openSUSE Tumbleweed on the HiFive Unleashed. Patch by Andreas Schwab (schwab) Reviewers: luismarques Reviewed By: luismarques Subscribers: mhorne, emaste, luismarques, asb, mgorny, fedor.sergeev, simoncook, kito-cheng, shiva0217, rogfer01, rkruppe, lenary, s.egerton, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D66870
|
 | compiler-rt/cmake/config-ix.cmake |
 | compiler-rt/lib/sanitizer_common/sanitizer_platform.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp |
Commit
10c8dbcb840c744002a824950e8293ef0a1fd61a
by kadircet[clangd] Propogate context in TUScheduler::run Reviewers: sammccall Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69328
|
 | clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp |
 | clang-tools-extra/clangd/TUScheduler.cpp |
Commit
a9c3c176ad741b9c2b915abc59dd977d0299c53f
by sammccallReland "[Support] Add a way to run a function on a detached thread"" This reverts commit 7bc7fe6b789d25d48d6dc71d533a411e9e981237. The immediate callers have been fixed to pass nullopt where appropriate.
|
 | llvm/lib/Support/Unix/Threading.inc |
 | llvm/lib/Support/Windows/Threading.inc |
 | llvm/include/llvm/Support/Threading.h |
 | llvm/lib/Support/Windows/Process.inc |
 | llvm/lib/Support/Unix/Unix.h |
 | llvm/unittests/Support/Threading.cpp |
 | clang/tools/libclang/CIndex.cpp |
 | llvm/lib/Support/Windows/WindowsSupport.h |
 | llvm/lib/Support/Threading.cpp |
 | llvm/lib/Support/CrashRecoveryContext.cpp |
Commit
a4d55a2c3607c411a16a01a61bd667a03fee7264
by llvm-dev[X86] combineX86ShufflesRecursively - assert the root mask is legal. NFCI.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
82b1b39b3670805cd03f0c175816ec051b5946e3
by simon[mips] Reformat `la / dla` expansion test cases. NFC
|
 | llvm/test/MC/Mips/macro-la-pic.s |
 | llvm/test/MC/Mips/macro-dla-pic.s |
Commit
263abc6761a4452013d4536a30a453a299dd64b1
by simon[mips] Add tests to check `la / dla` expansion in XGOT cases. NFC
|
 | llvm/test/MC/Mips/macro-dla-pic.s |
 | llvm/test/MC/Mips/macro-la-pic.s |
Commit
c470a9b586cb1dabc263f4e1d044edfd0eadf13d
by simon[mips] Implement `la` macro expansion for N32 ABI
|
 | llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp |
 | llvm/test/MC/Mips/macro-la-pic.s |
Commit
8e574e56c624051f296545337dee117196c1e8d0
by simon[mips] Use `expandLoadAddress` for JAL expansion - Reduce code duplication - Get partial support of JAL expansion for XGOT.
|
 | llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp |
 | llvm/test/MC/Mips/expansion-jal-sym-pic.s |
Commit
689ce810598bec7b35dd7ebe33ce5c5cce1453c7
by Casey[libc++][NFC] Remove excess trailing newlines from most files Testing git commit access.
|
 | libcxx/test/libcxx/iterators/next.debug1.pass.cpp |
 | libcxx/test/std/containers/unord/unord.set/contains.pass.cpp |
 | libcxx/test/std/input.output/filesystems/lit.local.cfg |
 | libcxx/test/std/numerics/c.math/abs.fail.cpp |
 | libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.fail.cpp |
 | libcxx/test/libcxx/numerics/bit.ops.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.copy_ctor.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.move_ctor.pass.cpp |
 | libcxx/utils/google-benchmark/test/AssemblyTests.cmake |
 | libcxx/utils/google-benchmark/cmake/gnu_posix_regex.cpp |
 | libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp |
 | libcxx/utils/docker/scripts/run_buildbot.sh |
 | libcxx/test/libcxx/utilities/meta/stress_tests/stress_test_is_same.sh.cpp |
 | libcxx/test/std/containers/associative/map/contains.pass.cpp |
 | libcxx/benchmarks/CartesianBenchmarks.h |
 | libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.fail.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp |
 | libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/bool.fail.cpp |
 | libcxx/include/__debug |
 | libcxx/utils/google-benchmark/cmake/posix_regex.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_element_type.explicit.ctor.pass.cpp |
 | libcxx/test/libcxx/iterators/advance.debug1.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/opeq.string_view.string.pass.cpp |
 | libcxx/test/std/containers/unord/unord.map/contains.pass.cpp |
 | libcxx/src/support/solaris/wcsnrtombs.inc |
 | libcxx/test/support/propagate_const_helpers.h |
 | libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.fail.cpp |
 | libcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp |
 | libcxx/test/libcxx/utilities/meta/stress_tests/stress_test_metafunctions.sh.cpp |
 | libcxx/utils/libcxx/test/googlebenchmark.py |
 | libcxx/benchmarks/CMakeLists.txt |
 | libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/swap.pass.cpp |
 | libcxx/test/std/containers/associative/set/contains.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/element_type.explicit.ctor.pass.cpp |
 | libcxx/utils/google-benchmark/docs/AssemblyTests.md |
 | libcxx/utils/google-benchmark/.clang-format |
 | libcxx/test/libcxx/input.output/string.streams/traits_mismatch.fail.cpp |
 | libcxx/test/std/utilities/meta/meta.rel/is_convertible_fallback.pass.cpp |
 | libcxx/utils/docker/debian9/Dockerfile.compiler_zoo |
 | libcxx/test/support/nothing_to_do.pass.cpp |
 | libcxx/src/mutex_destructor.cpp |
 | libcxx/utils/docker/debian9/Dockerfile.base |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_element_type.non-explicit.ctor.pass.cpp |
 | libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.fail.cpp |
 | libcxx/utils/google-benchmark/cmake/std_regex.cpp |
 | libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp |
 | libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.fail.cpp |
 | libcxx/include/experimental/propagate_const |
 | libcxx/test/std/utilities/utility/synopsis.pass.cpp |
Commit
be86fdb86e1efd6921c81f25ac0c0a78903c0a2d
by Artem Dergachev[analyzer] Fix off-by-one in operator call parameter binding. Member operator declarations and member operator expressions have different numbering of parameters and arguments respectively: one of them includes "this", the other does not. Account for this inconsistency when figuring out whether the parameter needs to be manually rebound from the Environment to the Store when entering a stack frame of an operator call, as opposed to being constructed with a constructor and as such already having the necessary Store bindings. Differential Revision: https://reviews.llvm.org/D69155
|
 | clang/lib/StaticAnalyzer/Core/CallEvent.cpp |
 | clang/test/Analysis/temporaries.cpp |
Commit
1f665046fbf3b9d47a229714f689cd941f6f1216
by lebedev.ri[LVI][CVP] LazyValueInfoImpl::solveBlockValueBinaryOp(): use no-wrap flags from `add` op Summary: This was suggested in https://reviews.llvm.org/D69277#1717210 In this form (this is what was suggested, right?), the results aren't staggering (especially since given LVI cross-block focus) this does catch some things (as per test-suite), but not too much: | statistic | old | new | delta | % change | | correlated-value-propagation.NumAddNSW | 4981 | 4982 | 1 | 0.0201% | | correlated-value-propagation.NumAddNW | 12125 | 12126 | 1 | 0.0082% | | correlated-value-propagation.NumCmps | 1199 | 1202 | 3 | 0.2502% | | correlated-value-propagation.NumDeadCases | 112 | 111 | -1 | -0.8929% | | correlated-value-propagation.NumMulNSW | 275 | 278 | 3 | 1.0909% | | correlated-value-propagation.NumMulNUW | 1323 | 1326 | 3 | 0.2268% | | correlated-value-propagation.NumMulNW | 1598 | 1604 | 6 | 0.3755% | | correlated-value-propagation.NumNSW | 7158 | 7167 | 9 | 0.1257% | | correlated-value-propagation.NumNUW | 13304 | 13310 | 6 | 0.0451% | | correlated-value-propagation.NumNW | 20462 | 20477 | 15 | 0.0733% | | correlated-value-propagation.NumOverflows | 4 | 7 | 3 | 75.0000% | | correlated-value-propagation.NumPhis | 15366 | 15381 | 15 | 0.0976% | | correlated-value-propagation.NumSExt | 6273 | 6277 | 4 | 0.0638% | | correlated-value-propagation.NumShlNSW | 1172 | 1171 | -1 | -0.0853% | | correlated-value-propagation.NumShlNUW | 2793 | 2794 | 1 | 0.0358% | | correlated-value-propagation.NumSubNSW | 730 | 736 | 6 | 0.8219% | | correlated-value-propagation.NumSubNUW | 2044 | 2046 | 2 | 0.0978% | | correlated-value-propagation.NumSubNW | 2774 | 2782 | 8 | 0.2884% | | instcount.NumAddInst | 277586 | 277569 | -17 | -0.0061% | | instcount.NumAndInst | 66056 | 66054 | -2 | -0.0030% | | instcount.NumBrInst | 709147 | 709146 | -1 | -0.0001% | | instcount.NumCallInst | 528579 | 528576 | -3 | -0.0006% | | instcount.NumExtractValueInst | 18307 | 18301 | -6 | -0.0328% | | instcount.NumOrInst | 102660 | 102665 | 5 | 0.0049% | | instcount.NumPHIInst | 318008 | 318007 | -1 | -0.0003% | | instcount.NumSelectInst | 46373 | 46370 | -3 | -0.0065% | | instcount.NumSExtInst | 79496 | 79488 | -8 | -0.0101% | | instcount.NumShlInst | 40654 | 40657 | 3 | 0.0074% | | instcount.NumTruncInst | 62251 | 62249 | -2 | -0.0032% | | instcount.NumZExtInst | 68211 | 68221 | 10 | 0.0147% | | instcount.TotalBlocks | 843910 | 843909 | -1 | -0.0001% | | instcount.TotalInsts | 7387448 | 7387423 | -25 | -0.0003% | Reviewers: nikic, reames Reviewed By: nikic Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69321
|
 | llvm/include/llvm/IR/ConstantRange.h |
 | llvm/lib/Analysis/LazyValueInfo.cpp |
 | llvm/lib/IR/ConstantRange.cpp |
 | llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll |
Commit
8eda8f8ce85eddf24ff4dbf9783771d6b15db27c
by lebedev.ri[LVI][NFC] Factor solveBlockValueSaturatingIntrinsic() out of solveBlockValueIntrinsic() Now that there's SaturatingInst class, this is cleaner.
|
 | llvm/lib/Analysis/LazyValueInfo.cpp |
Commit
342c02d0ad57f244fed2b4d496c06d7b6dbdb310
by daltentyFix non-portable GNU diff option Summary: This is a fix to revision D68839 and rL375023. This patch substitutes POSIX option "-b" for the non-portable GNU option "--strip-trailing-cr". Reviewers: daltenty, hubert.reinterpretcast Reviewed By: daltenty Subscribers: mehdi_amini, hiraditya, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69342
|
 | llvm/test/tools/llvm-profdata/roundtrip.test |
 | llvm/test/tools/llvm-cxxmap/remap.test |
 | llvm/test/Assembler/thinlto-vtable-summary.ll |
 | llvm/test/tools/llvm-profdata/sample-remap.test |
 | llvm/test/tools/llvm-profdata/profile-symbol-list.test |
Commit
60286818ff88d938233ad7c3e87a94761a4fef91
by lebedev.ri[Analysis] Update Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll I should have updated it in 1f665046fbf3b9d47a229714f689cd941f6f1216 but i didn't even realize those tests were there.
|
 | llvm/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll |
Commit
8bda5f20674df1765bce8f0866204dff93ed244c
by sammccall[clangd] abort if shutdown takes more than a minute. Summary: A certain class of bug (e.g. infloop on an AST worker thread) currently means clangd never terminates, even if the editor shuts down the protocol and closes our stdin, and the main thread recognizes that. Instead, let's wait 60 seconds for threads to finish cleanly, and then crash if they haven't. (Obviously, we should still fix these bugs). Reviewers: kadircet Subscribers: MaskRay, jkorous, arphaman, jfb, usaxena95, cfe-commits, ilya-biryukov Tags: #clang Differential Revision: https://reviews.llvm.org/D69329
|
 | clang-tools-extra/clangd/ClangdLSPServer.h |
 | clang-tools-extra/clangd/tool/ClangdMain.cpp |
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
Commit
b689cc640f3f13208304b17caffd04ca71960335
by kevin.nealMinor movement of one function with now-correct strictfp attribute to pass against the latest version of D68233.
|
 | llvm/test/Bitcode/compatibility.ll |
Commit
d01fd2f35a02cb53a5d9d1a5342b5085c5dce66c
by Raphael Isemann[lldb] Add nodebug attribute to import-std-module/sysroot test Summary: So far we rely on the default argument and the fact that we don't call this inline function in our actual `main.cpp` to make sure that this function can only be called if LLDB loads this header as a C++ module. This patch just adds the nodebug attribute as yet another measure to make sure LLDB can't call this function without the standard module loaded. Note that the test is already requiring clang for the sysroot setup, so its fine that this is a Clang specific attribute. Reviewers: friss, labath Subscribers: JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68861
|
 | lldb/packages/Python/lldbsuite/test/commands/expression/import-std-module/sysroot/root/usr/include/c++/v1/algorithm |
Commit
684ebc605e0b7f8782e634e1bb3621a9b0ec674f
by hansRevert 4334892e7b "[DAGCombine][ARM] x ==/!= c -> (x - c) ==/!= 0 iff '-c' can be folded into the x node." This broke various Windows builds, see comments on the Phabricator review. This also reverts the follow-up 20bf0cf. > Summary: > This fold, helps recover from the rest of the D62266 ARM regressions. > https://rise4fun.com/Alive/TvpC > > Note that while the fold is quite flexible, i've restricted it > to the single interesting pattern at the moment. > > Reviewers: efriedma, craig.topper, spatel, RKSimon, deadalnix > > Reviewed By: deadalnix > > Subscribers: javed.absar, kristof.beyls, llvm-commits > > Tags: #llvm > > Differential Revision: https://reviews.llvm.org/D62450
|
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/ARM/addsubcarry-promotion.ll |
 | llvm/test/CodeGen/X86/pr43769.ll |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
Commit
6b77ebdc919d9212f50fd353b1da0d84d3815bf3
by Louis Dionne[NFC] Strip trailing whitespace from libc++
|
 | libcxx/test/libcxx/numerics/numeric.ops/midpoint.integer.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp |
 | libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/push_heap.pass.cpp |
 | libcxx/test/std/strings/strings.erasure/erase.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/to_duration.pass.cpp |
 | libcxx/test/std/experimental/filesystem/fs.req.macros/feature_macro.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/minutes.pass.cpp |
 | libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp |
 | libcxx/test/std/utilities/time/time.clock/time.clock.system/sys.time.types.pass.cpp |
 | libcxx/test/libcxx/numerics/bit.ops.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp |
 | libcxx/test/std/numerics/c.math/c.math.lerp/c.math.lerp.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/width.pass.cpp |
 | libcxx/test/std/numerics/bit/bit.pow.two/ispow2.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.12/is_pm.pass.cpp |
 | libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.integer.pass.cpp |
 | libcxx/test/std/utilities/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_local_days.pass.cpp |
 | libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.fail.cpp |
 | libcxx/test/std/input.output/filesystems/fs.req.macros/feature_macro.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/copy_ctor.pass.cpp |
 | libcxx/include/experimental/type_traits |
 | libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp |
 | libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/element_type.non-explicit.ctor.pass.cpp |
 | libcxx/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_sys_days.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/is_negative.pass.cpp |
 | libcxx/include/support/ibm/xlocale.h |
 | libcxx/test/std/containers/unord/unord.set/erase_if.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp |
 | libcxx/test/std/containers/sequences/deque/deque.erasure/erase_if.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.12/make24.pass.cpp |
 | libcxx/test/libcxx/iterators/advance.debug1.pass.cpp |
 | libcxx/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.postincrement.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp |
 | libcxx/test/std/utilities/time/time.clock/time.clock.file/file_time.pass.cpp |
 | libcxx/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.sys_days.pass.cpp |
 | libcxx/test/std/numerics/bit/bit.pow.two/log2p1.pass.cpp |
 | libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_unbounded_array.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.non-const_observers/explicit_operator_element_type_ptr.pass.cpp |
 | libcxx/fuzzing/fuzz_test.cpp |
 | libcxx/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.sys_days.pass.cpp |
 | libcxx/include/__string |
 | libcxx/include/forward_list |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/seconds.pass.cpp |
 | libcxx/test/std/experimental/iterator/ostream.joiner/ostream.joiner.cons/ostream_joiner.cons.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp |
 | libcxx/test/std/containers/sequences/deque/deque.erasure/erase.pass.cpp |
 | libcxx/test/std/experimental/utilities/meta/meta.detect/nonesuch.fail.cpp |
 | libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp |
 | libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp |
 | libcxx/include/experimental/functional |
 | libcxx/include/bit |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/assign_convertible_propagate_const.pass.cpp |
 | libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp |
 | libcxx/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.sys_days.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/subseconds.pass.cpp |
 | libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap_comp.pass.cpp |
 | libcxx/test/std/utilities/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.local_days.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/hours.pass.cpp |
 | libcxx/test/std/experimental/iterator/ostream.joiner/ostream.joiner.creation/make_ostream_joiner.pass.cpp |
 | libcxx/test/std/containers/sequences/vector/vector.erasure/erase_if.pass.cpp |
 | libcxx/test/std/containers/unord/unord.multiset/erase_if.pass.cpp |
 | libcxx/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.pretincrement.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/assign.pass.cpp |
 | libcxx/test/std/numerics/bit/bit.pow.two/floor2.pass.cpp |
 | libcxx/test/std/containers/associative/set/set.erasure/erase_if.pass.cpp |
 | libcxx/include/list |
 | libcxx/test/std/containers/sequences/vector/vector.erasure/erase.pass.cpp |
 | libcxx/test/std/containers/unord/unord.multimap/erase_if.pass.cpp |
 | libcxx/test/std/utilities/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.local_days.pass.cpp |
 | libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp |
 | libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp |
 | libcxx/test/std/numerics/complex.number/complex.ops/complex_not_equals_scalar.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/precision.pass.cpp |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.copy_ctor.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.12/make12.pass.cpp |
 | libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.modifiers/reset_self.pass.cpp |
 | libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.fail.cpp |
 | libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp |
 | libcxx/include/ctime |
 | libcxx/test/std/numerics/bit/bit.pow.two/ceil2.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/ctor.fail.cpp |
 | libcxx/include/experimental/iterator |
 | libcxx/test/std/utilities/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_local_days.pass.cpp |
 | libcxx/test/std/utilities/time/time.clock/time.clock.system/local_time.types.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/precision_type.pass.cpp |
 | libcxx/test/std/strings/strings.erasure/erase_if.pass.cpp |
 | libcxx/test/std/strings/c.strings/cwctype.pass.cpp |
 | libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/length.pass.cpp |
 | libcxx/include/ext/hash_map |
 | libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.observers/operator_element_type_ptr.pass.cpp |
 | libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp |
 | libcxx/test/std/iterators/iterator.container/ssize.pass.cpp |
 | libcxx/test/std/containers/views/span.cons/container.fail.cpp |
 | libcxx/include/__threading_support |
 | libcxx/include/support/solaris/wchar.h |
 | libcxx/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.star.pass.cpp |
Commit
bf2975eca0a1176b0256ba538debf121c2f7f11c
by chandlercRemove a no longer accurate sentence from the coding standards. (And test my commit access. We're working on larger changes here.)
|
 | llvm/docs/CodingStandards.rst |
Commit
7c9844b66e5e0cca1424e0688b4384d4ec23325a
by stl[libcxx][NFC] Strip trailing whitespace, fix typo.
|
 | libcxx/src/support/win32/support.cpp |
 | libcxx/src/thread.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.12/is_am.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp |
 | libcxx/test/std/numerics/bit/bit.pow.two/ispow2.pass.cpp |
 | libcxx/test/std/numerics/bit/bit.pow.two/log2p1.pass.cpp |
 | libcxx/src/locale.cpp |
 | libcxx/benchmarks/unordered_set_operations.bench.cpp |
 | libcxx/src/support/solaris/xlocale.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/precision_type.pass.cpp |
 | libcxx/src/chrono.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/precision.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp |
 | libcxx/test/std/utilities/time/time.hms/time.hms.members/is_negative.pass.cpp |
 | libcxx/test/std/numerics/bit/bit.pow.two/floor2.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp |
 | libcxx/src/filesystem/operations.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp |
 | libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/ctor.fail.cpp |
Commit
23fdd513a3ba7594ccdab1ea30608f4cab7faee4
by noreplyImprove language in GettingStarted.rst This patch was reviewed and approved by chandlerc.
"Getting Started with the LLVM System" is the first point of contact for many newcomers in the LLVM community. * Make the first two paragraphs more welcoming * Use more inclusive language
|
 | llvm/docs/GettingStarted.rst |
Commit
bf869683c3f26827853e3c34d3c4a337069928fe
by daltentyUse portable flag with nm in extract_symbols.py Summary: nm is one of the tools that extract_symbols.py can use to extract symbols from llvm libraries as part of the build process. This patch updates the invocation of nm to use the -P POSIX option for "portable output" so we get a consistently parsable output format on all platforms. A link to the relevant nm format: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/nm.html Reviewers: hubert.reinterpretcast, stevewan, sfertile Reviewed By: stevewan Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69004
|
 | llvm/utils/extract_symbols.py |
Commit
dc1499b90dc41838e1ee8c7052bbe9535b3609bb
by chandlercImprove Clang's getting involved document and make it more inclusive in wording. Summary: Working with Meike and others to improve the wording in this document. Reviewers: klimek Subscribers: mcrosier, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69351
|
 | clang/www/get_involved.html |
Commit
da6384fbb9fbe85db4b4e99c1c92e932e4af0029
by noreplyAdd beginning of LLVM's GettingStarted to GitHub readme Reviewed and approved by chandlerc. As GitHub is the canonical LLVM repository now, embrace GitHub's way of displaying basic build instructions in the top-level readme.md.
|
 | README.md |
Commit
e3d26b42b95c658ac5805188291f4316b47a15dd
by smeenai[Hexagon] Fix typo. NFC Testing git push access.
|
 | llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp |
Commit
61e7a61bdccfae2c55e1ab598621204030feac7a
by Stanislav.Mekhanoshin[AMDGPU] Allow folding of sgpr to vgpr copy Potentially sgpr to sgpr copy should also be possible. That is however trickier because we may end up with a wrong register class at use because of xm0/xexec permutations. Differential Revision: https://reviews.llvm.org/D69280
|
 | llvm/test/CodeGen/AMDGPU/saddo.ll |
 | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp |
 | llvm/test/CodeGen/AMDGPU/fold-vgpr-copy.mir |
Commit
7f1ffef567a749e7a3e369239f34a3f2a4887e63
by craig.topper[X86] Replace some regular expressions in xray tests with explicit checks to show bad assembly. We're print 16-bit or 32-bit registers in copy instructions to 64-bit registers. This code will not assemble if it were to be parsed back in. Emitting to binary works because we'll encode the register the same way no matter what the size is.
|
 | llvm/test/CodeGen/X86/xray-typed-event-log.ll |
 | llvm/test/CodeGen/X86/xray-custom-log.ll |
Commit
1d7f79c0171df921e5519c7f19a94d9a53c7d248
by petar.avramovic[MIPS GlobalISel] MSA vector generic and builtin sdiv, srem, udiv, urem Select vector G_SDIV, G_SREM, G_UDIV and G_UREM for MIPS32 with MSA. We have to set bank for vector operands to fprb and selectImpl will do the rest. __builtin_msa_div_s_<format>, __builtin_msa_mod_s_<format>, __builtin_msa_div_u_<format> and __builtin_msa_mod_u_<format> will be transformed into G_SDIV, G_SREM, G_UDIV and G_UREM in legalizeIntrinsic respectively and selected in the same way. Differential Revision: https://reviews.llvm.org/D69333
|
 | llvm/test/CodeGen/Mips/GlobalISel/instruction-select/rem_and_div_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div_vec.ll |
 | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div_vec_builtin.mir |
 | llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div_vec_builtin.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/regbankselect/rem_and_div_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div_vec.mir |
Commit
914ce66413e9de560a4546e87cacbbecad4d63bb
by petar.avramovic[MIPS GlobalISel] MSA vector generic and builtin fadd, fsub, fmul, fdiv Select vector G_FADD, G_FSUB, G_FMUL and G_FDIV for MIPS32 with MSA. We have to set bank for vector operands to fprb and selectImpl will do the rest. __builtin_msa_fadd_<format>, __builtin_msa_fsub_<format>, __builtin_msa_fmul_<format> and __builtin_msa_fdiv_<format> will be transformed into G_FADD, G_FSUB, G_FMUL and G_FDIV in legalizeIntrinsic respectively and selected in the same way. Differential Revision: https://reviews.llvm.org/D69340
|
 | llvm/test/CodeGen/Mips/GlobalISel/instruction-select/floating_point_vec_arithmetic_operations.mir |
 | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/floating_point_vec_arithmetic_operations_builtin.mir |
 | llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/floating_point_vec_arithmetic_operations_builtin.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/regbankselect/floating_point_vec_arithmetic_operations.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/floating_point_vec_arithmetic_operations.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/floating_point_vec_arithmetic_operations.mir |
Commit
bf71e4fe0a68085d29e9e883da1f17ae73945643
by hokein.wu[clangd] Collect name references in the index. Summary: This is used for cross-file rename. When renaming a class, we expect to rename all related constructors/destructors. Reviewers: kadircet, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69338
|
 | clang-tools-extra/clangd/index/SymbolCollector.cpp |
 | clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp |
Commit
13fc899cdecc85c944fc5b516a2bdfdd2f5f5903
by hokein.wu[clangd] Handle the missing constructor initializers in findExplicitReferences. Reviewers: ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69241
|
 | clang-tools-extra/clangd/unittests/FindTargetTests.cpp |
 | clang-tools-extra/clangd/FindTarget.cpp |
Commit
bfa3f0c316655d0140abb4e90f82242a7c2b4ea4
by benny.kraHide implementation details in anonymous namespaces. NFC.
|
 | llvm/lib/LTO/ThinLTOCodeGenerator.cpp |
 | llvm/lib/DebugInfo/CodeView/SymbolRecordHelpers.cpp |
Commit
73cebfe4128cb12dba0c948263488e4c9e5d2186
by marek[libFuzzer] docs: update note to include REDUCE event.
|
 | llvm/docs/LibFuzzer.rst |
Commit
612eadb7bc06b8f1a094976e06155f46ebd70d7c
by david.tellenbachExpose __hwasan_tag_mismatch_stub Summary: GCC would like to emit a function call to report a tag mismatch rather than hard-code the `brk` instruction directly. __hwasan_tag_mismatch_stub contains most of the functionality to do this already, but requires exposure in the dynamic library. This patch moves __hwasan_tag_mismatch_stub outside of the anonymous namespace that it was defined in and declares it in hwasan_interface_internal.h. We also add the ability to pass sizes larger than 16 bytes to this reporting function by providing a fourth parameter that is only looked at when the size provided is not in the original accepted range. This does not change the behaviour where it is already being called, since the previous definition only accepted sizes up to 16 bytes and hence the change in behaviour is not seen by existing users. The change in declaration does not matter, since the only existing use is in the __hwasan_tag_mismatch function written in assembly. Tested with gcc and clang on an AArch64 vm. Reviewers: eugenis, kcc, pcc, #sanitizers Reviewed By: eugenis, #sanitizers Subscribers: kristof.beyls, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D69113
|
 | compiler-rt/lib/hwasan/hwasan_linux.cpp |
 | compiler-rt/lib/hwasan/hwasan_interface_internal.h |
 | compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S |
Commit
93aec861f5293d7d3b444c45e6f78e377840031b
by david.tellenbachRevert "Expose __hwasan_tag_mismatch_stub" Attribution to author of patch got lost. This reverts commit 612eadb7bc06b8f1a094976e06155f46ebd70d7c.
|
 | compiler-rt/lib/hwasan/hwasan_linux.cpp |
 | compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S |
 | compiler-rt/lib/hwasan/hwasan_interface_internal.h |
Commit
6d11abfe3507ec6d8bdac4c79ef7249abd3fdc07
by david.tellenbach[compiler-rt] Expose __hwasan_tag_mismatch_stub Summary: GCC would like to emit a function call to report a tag mismatch rather than hard-code the `brk` instruction directly. __hwasan_tag_mismatch_stub contains most of the functionality to do this already, but requires exposure in the dynamic library. This patch moves __hwasan_tag_mismatch_stub outside of the anonymous namespace that it was defined in and declares it in hwasan_interface_internal.h. We also add the ability to pass sizes larger than 16 bytes to this reporting function by providing a fourth parameter that is only looked at when the size provided is not in the original accepted range. This does not change the behaviour where it is already being called, since the previous definition only accepted sizes up to 16 bytes and hence the change in behaviour is not seen by existing users. The change in declaration does not matter, since the only existing use is in the __hwasan_tag_mismatch function written in assembly. Reviewers: eugenis, kcc, pcc, #sanitizers Reviewed By: eugenis, #sanitizers Subscribers: kristof.beyls, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D69113 Patch by Matthew Malcomson <matthew.malcomson@arm.com>
|
 | compiler-rt/lib/hwasan/hwasan_linux.cpp |
 | compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S |
 | compiler-rt/lib/hwasan/hwasan_interface_internal.h |
Commit
1ae8e8d25fd87048d3d8d7429308e52b236c79a1
by evgenyDon't add -fsplit-lto-unit for thin LTO builds with PS4 and Darwin toolchains These toolchains use legacy thin LTO API, which is not capable of unit splitting Differential revision: https://reviews.llvm.org/D69173
|
 | clang/lib/Driver/ToolChains/Darwin.h |
 | clang/include/clang/Driver/ToolChain.h |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Driver/split-lto-unit.c |
 | clang/lib/Driver/ToolChains/PS4CPU.h |
Commit
e3b49df50e4f463f1b0bed5a0a476eafafd1d426
by petar.avramovic[MIPS GlobalISel] Select MSA vector generic and builtin fabs selectImpl is able to select G_FABS when we set bank for vector operands to fprb. Add detailed tests. Note: G_FABS is generated from llvm-ir intrinsics llvm.fabs.*, and at the moment MIPS is not able to generate this intrinsic for vector type (some targets generate vector llvm.fabs.* from calls to a builtin function). We can handle fabs using __builtin_msa_fmax_a_<format> and passing same vector as both arguments. __builtin_msa_fmax_a_<format> will be directly selected into FMAX_A_<format> in legalizeIntrinsic. Differential Revision: https://reviews.llvm.org/D69346
|
 | llvm/test/CodeGen/Mips/GlobalISel/regbankselect/fabs_vec.mir |
 | llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fabs_vec.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/fabs_vec.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/instruction-select/fabs_vec.mir |
 | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/fabs_vec_builtin.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fabs_vec_builtin.ll |