- Jun 27, 2020
-
-
Kit Barton authored
Summary: In preparation for GlobalISel, PPCSubTarget needs to be renamed to Subtarget as there places in GlobalISel that assume the presence of the variable Subtarget. This patch introduces the variable Subtarget, and replaces all existing uses of PPCSubTarget with Subtarget. A subsequent patch will remove the definiton of PPCSubTarget, once any downstream users have the opportunity to rename any uses they have. Reviewers: hfinkel, nemanjai, jhibbits, #powerpc, echristo, lkail Reviewed By: #powerpc, echristo, lkail Subscribers: echristo, lkail, wuzish, nemanjai, hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81623
-
Yitzhak Mandelbaum authored
This patch improves the error message provided by the stencil that handles source from a range selector. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D82654
-
- Jun 26, 2020
-
-
Louis Dionne authored
-
Melanie Blower authored
This reverts commit 9518763d. Memory sanitizer fails in CGFPOptionsRAII::CGFPOptionsRAII dtor
-
sstefan1 authored
This fixes build breaks when system headers are difining FALSE.
-
Francesco Petrogalli authored
Reviewers: kmclaughlin, efriedma, ctetreau, sdesmalen, david-arm Subscribers: tschuett, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D82501
-
Kevin P. Neal authored
-
Thomas Raoux authored
To be able to have more meaningful performance out of workloadsi going through the vulkan-runner we need to use buffers from GPU device memory as access to system memory is significantly slower for GPU with dedicated memory. This adds code to do a copy through staging buffer as GPU memory cannot always be mapped on the host. Differential Revision: https://reviews.llvm.org/D82504
-
Melanie Blower authored
This reverts commit b55d723e. Reapply Modify FPFeatures to use delta not absolute settings To solve https://bugs.llvm.org/show_bug.cgi?id=46166 where the floating point settings in PCH files aren't compatible, rewrite FPFeatures to use a delta in the settings rather than absolute settings. With this patch, these floating point options can be benign. Reviewers: rjmccall Differential Revision: https://reviews.llvm.org/D81869
-
Vy Nguyen authored
LBR contains (up to) 16 entries for last x branches and the X86LBRCounter (from D77422) should be able to return all those. Currently, it just returns the latest entry, which could lead to mis-leading measurements. This patch aslo changes the LatencyBenchmarkRunner to accommodate multi-value readings. https://reviews.llvm.org/D81050 -
Melanie Blower authored
This reverts commit 3a748cbf. I'm reverting this commit because I forgot to format the commit message propertly. Sorry for the thrash.
-
Dmitri Gribenko authored
Summary: MSVC does not handle raw string literals with embedded double quotes correctly. I switched the affected test case to use regular string literals insetad. Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D82636
-
Melanie Blower authored
-
George Mitenkov authored
Implemented conversion for `spv.BitReverse` and `spv.BitCount`. Since ODS generates builders in a different way for LLVM dialect intrinsics, I added attributes to build method in `DirectConversionPattern` class. The tests for these ops are in `bitwise-ops-to-llvm.mlir`. Differential Revision: https://reviews.llvm.org/D82286
-
Yitzhak Mandelbaum authored
Renames the overloaded `RangeSelector` combinator `range` to the more descriptive `enclose` and `encloseNodes`. The old overloads are left in place and marked deprected and will be deleted at a future time. Reviewed By: tdl-g Differential Revision: https://reviews.llvm.org/D82592
-
Guillaume Chatelet authored
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 Differential Revision: https://reviews.llvm.org/D82653
-
Matt Arsenault authored
This had an extra attempt to align the pointer, which only did anything with a base kernel argument offset which only clover used to use.
-
Matt Arsenault authored
I'm not sure we actually need to support this now, since I think clover always explicitly uses amdgcn-mesa-mesa3d now, not the ill-defined amdgcn-- behavior.
-
Matt Arsenault authored
-
Denis Khalikov authored
Add a pass to rewrite sequential chains of `spirv::CompositeInsert` operations into `spirv::CompositeConstruct` operations. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D82198
-
Kadir Cetinkaya authored
Add code completion for using alias. Patch By @lh123 ! Reviewers: kadircet Differential Revision: https://reviews.llvm.org/D82535
-
Kerry McLaughlin authored
Remove the asserts in performLDNT1Combine & performST[NT]1Combine to ensure we get a failure where the type is a bfloat16 and hasBF16() is false, regardless of whether asserts are enabled.
-
serge-sans-paille authored
As loop extractor has a dependency on another pass (namely BreakCriticalEdges) that may update the IR, use the getAnalysis version introduced in 55fe7b79 to carry that change. Add an assert in getAnalysisID to make sure no other changed status is missed - according to validation this was the only one. Related to https://reviews.llvm.org/D80916 Differential Revision: https://reviews.llvm.org/D81236
-
Simon Pilgrim authored
Revert rGf0bab787 - "Triple.h - reduce Twine.h include to forward declarations. NFC." This causes ICEs on the clang-ppc64be buildbots and I've limited ability to triage the problem.
-
ergawy authored
This patch add support for 'spv.CopyMemory'. The following changes are introduced: - 'CopyMemory' op is added to SPIRVOps.td. - Custom parse and print methods are introduced. - A few Roundtripping tests are added. Differential Revision: https://reviews.llvm.org/D82384
-
Tobias Gysi authored
Summary: The patch fixes an off by one error in the method collapseParallelLoops. It ensures the same normalized bound is used for the computation of the division and the remainder. Reviewers: herhut Reviewed By: herhut Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes Tags: #mlir Differential Revision: https://reviews.llvm.org/D82634
-
Alex Zinenko authored
Conversions of allocation-related operations in Standard-to-LLVM need declarations of "malloc" and "free" (or equivalents). They use locally created OpBuilders pointed at the module level to declare these functions if necessary. This is poorly compatible with the pattern infrastructure that is unaware of new operations being created. Update the insertion point of the main rewriter instead. Differential Revision: https://reviews.llvm.org/D82649
-
Alex Zinenko authored
Initially, unranked memref descriptors in the LLVM dialect were designed only to be passed into functions. An assertion was guarding against returning unranked memrefs from functions in the standard-to-LLVM conversion. This is insufficient for functions that wish to return an unranked memref such that the caller does not know the rank in advance, and hence cannot allocate the descriptor and pass it in as an argument. Introduce a calling convention for returning unranked memref descriptors as follows. An unranked memref descriptor always points to a ranked memref descriptor stored on stack of the current function. When an unranked memref descriptor is returned from a function, the ranked memref descriptor it points to is copied to dynamically allocated memory, the ownership of which is transferred to the caller. The caller is responsible for deallocating the dynamically allocated memory and for copying the pointed-to ranked memref descriptor onto its stack. Provide default lowerings for std.return, std.call and std.indirect_call that maintain the conversion defined above. This convention is additionally exercised by a runtime test to guard against memory errors. Differential Revision: https://reviews.llvm.org/D82647
-
Raphael Isemann authored
This got removed by accident in 048d11de when the test was rewritten as a non-inline test.
-
Simon Pilgrim authored
-
Jean-Michel Gorius authored
Using fully qualified names wherever possible avoids ambiguous class and function names. This is a follow-up to D82371. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D82471
-
Tung D. Le authored
[MLIR][Affine-loop-fusion] Fix a bug in affine-loop-fusion pass when there are non-affine operations When there is a mix of affine load/store and non-affine operations (e.g. std.load, std.store), affine-loop-fusion ignores the present of non-affine ops, thus changing the program semantics. E.g. we have a program of three affine loops operating on the same memref in which one of them uses std.load and std.store, as follows. ``` affine.for affine.store %1 affine.for std.load %1 std.store %1 affine.for affine.load %1 affine.store %1 ``` affine-loop-fusion will produce the following result which changed the program semantics: ``` affine.for std.load %1 std.store %1 affine.for affine.store %1 affine.load %1 affine.store %1 ``` This patch is to fix the above problem by checking non-affine users of the memref that are between the source and destination nodes of interest. Differential Revision: https://reviews.llvm.org/D82158
-
Simon Tatham authored
Both `AArch64TargetParser.h` and `ARMTargetParser.h` refer to `SmallVectorImpl` without directly including the header that defines it, which works fine until nothing else happens to include it anyway.
-
Cullen Rhodes authored
Reviewers: sdesmalen, efriedma, kmclaughlin, fpetrogalli Reviewed By: sdesmalen, fpetrogalli Differential Revision: https://reviews.llvm.org/D82494
-
Anatoly Trosinenko authored
When writing a unit test on replacing standard epilogue sequences with `BR __mspabi_func_epilog_<N>`, by manually asm-clobbering `rN` - `r10` for N = 4..10, everything worked well except for seeming inability to clobber r4. The problem was that MSP430 code generator of LLVM used an obsolete name FP for that register. Things were worse because when `llc` read an unknown register name, it silently ignored it. That is, I cannot use `fp` register name from the C code because Clang does not accept it (exactly like GCC). But the accepted name `r4` is not recognised by `llc` (it can be used in listings passed to `llvm-mc` and even `fp` is replace to `r4` by `llvm-mc`). So I can specify any of `fp` or `r4` for the string literal of `asm(...)` but nothing in the clobber list. This patch replaces `MSP430::FP` with `MSP430::R4` in the backend code (even [MSP430 EABI](http://www.ti.com/lit/an/slaa534/slaa534.pdf) doesn't mention FP as a register name). The R0 - R3 registers, on the other hand, are left as is in the backend code (after all, they have some special meaning on the ISA level). It is just ensured clang is renaming them as expected by the downstream tools. There is probably not much sense in **marking them clobbered** but rename them //just in case// for use at potentially different contexts. Differential Revision: https://reviews.llvm.org/D82184
-
Anatoly Trosinenko authored
Some parts of existing codebase assume the default `int` type to be (at least) 32 bit wide. On 16 bit targets such as MSP430 this may cause Undefined Behavior or results being defined but incorrect. Differential Revision: https://reviews.llvm.org/D81408
-
Simon Pilgrim authored
-
serge-sans-paille authored
When calling on-the-fly passes from the legacy pass manager, the modification status is not reported, which is a problem in case we depend on an acutal transformation pass, and not only analyse. Update the Legacy PM API to optionally report the changed status, assert if a change is detected but this change is lost. Related to https://reviews.llvm.org/D80916 Differential Revision: https://reviews.llvm.org/D81236
-
Simon Pilgrim authored
Move include down to a number of other files that had an implicit dependency on the Twine class.
-
David Zarzycki authored
1) Shared writable directories like /tmp are a security problem. 2) Systems provide dedicated cache directories these days anyway. 3) This also refines LLVM's cache_directory() on Darwin platforms to use the Darwin per-user cache directory. Reviewers: compnerd, aprantl, jakehehrlich, espindola, respindola, ilya-biryukov, pcc, sammccall Reviewed By: compnerd, sammccall Subscribers: hiraditya, llvm-commits, cfe-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D82362
-