- Feb 17, 2020
-
-
Sourabh Singh Tomar authored
-
Sjoerd Meijer authored
-
Sylvestre Ledru authored
-
Raphael Isemann authored
Commit 82b47b29 changes the way the stdlib.h header is structured which seems to cause strange lookup failures in the modules build. This updates a few failing tests so that they pass with the new behavior of stdlib.h. See the discussion in https://reviews.llvm.org/rG82b47b2978405f802a33b00d046e6f18ef6a47be
-
Kang Zhang authored
Modify the command option to add --enable-no-nans-fp-math -
Fangrui Song authored
-
QingShan Zhang authored
We have the InstAlias rules for 32-bit rotate but missing the 64-bit one. Rotate left immediate rotlwi ra,rs,n rlwinm ra,rs,n,0,31 Rotate left rotlw ra,rs,rb rlwnm ra,rs,rb,0,31 Differential Revision: https://reviews.llvm.org/D72676
-
Kang Zhang authored
-
Michael Liao authored
-
River Riddle authored
-
Craig Topper authored
It can be turned into a sub with -128 instead as long as the carry flag isn't used.
-
Fangrui Song authored
-
Craig Topper authored
-
Matt Arsenault authored
This wouldn't work for s33-s63 sources.
-
Matt Arsenault authored
-
Matt Arsenault authored
These aren't using any local state
-
Yaxun (Sam) Liu authored
This patch removes the explicit call graph for CUDA/HIP/OpenMP deferred diagnostics generated during parsing since it is error prone due to incomplete information about function declarations during parsing. In stead, this patch does a post-parsing AST traverse and emits deferred diagnostics based on the use graph implicitly generated during the traverse. Differential Revision: https://reviews.llvm.org/D70172
-
Nico Weber authored
The driver version of the flag seems to confuse goma.
-
Zheng Chen authored
On Powerpc, set instruction count as lsr first priority of lsr by default. Add an option ppc-lsr-no-insns-cost to return back to default lsr cost model. Reviewed By: steven.zhang, jsji Differential Revision: https://reviews.llvm.org/D72683
-
Yaxun (Sam) Liu authored
norecurse function attr indicates the function is not called recursively directly or indirectly. Add norecurse to OpenCL functions, SYCL functions in device compilation and CUDA/HIP kernels. Although there is LLVM pass adding norecurse to functions, it only works for whole-program compilation. Also FE adding norecurse can make that pass run faster since functions with norecurse do not need to be checked again. Differential Revision: https://reviews.llvm.org/D73651
-
Craig Topper authored
[X86] Increase latency of port5 masked compares and kshift/kadd/kunpck instructions in SKX scheduler model Uops.info shows these as 4 cycle latency.
-
Craig Topper authored
-
Pierre Habouzit authored
Add fixits for messaging self in MRR or using super, as the intent is clear, and it turns out people do that a lot more than expected. Allow for objc_direct_members on main interfaces, it's extremely useful for internal only classes, and proves to be quite annoying for adoption. Add some better warnings around properties direct/non-direct clashes (it was done for methods but properties were a miss). Add some errors when direct properties are marked @dynamic. Radar-Id: rdar://problem/58355212 Signed-off-by:
Pierre Habouzit <phabouzit@apple.com> Differential Revision: https://reviews.llvm.org/D73755
-
Fangrui Song authored
This allows some simplification.
-
Florian Hahn authored
-
Craig Topper authored
Both of those functions only have a single caller starting at LowerSETCC. Just handle floating point directly in LowerSETCC. This removes the need to pass Chain and IsSignaling all the way down.
-
Craig Topper authored
-
Mark de Wever authored
Revision 9658d895 breaks the clang-x64-windows-msvc build bot [1]. This should fix the unit test using the same method as used in 9658d895. Note I don't have access to a Windows system so the patch is based on the errors generated by the bot. [1] http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/14358 Differential Revision: https://reviews.llvm.org/D74694
-
marshall authored
-
marshall authored
-
LLVM GN Syncbot authored
-
Eric Astor authored
Summary: Many directives are unavailable, and support for others may be limited. This first draft has preliminary support for: - conditional directives (including errors), - data allocation (unsigned types up to 8 bytes, and ALIGN), - equates/variables (numeric and text), - and procedure directives (without parameters), as well as COMMENT, ECHO, INCLUDE, INCLUDELIB, PUBLIC, and EXTERN. Text variables (aka text macros) are expanded in-place wherever the identifier occurs. We deliberately ignore all ml.exe processor directives. Prominent features not yet supported: - structs - macros (both procedures and functions) - procedures (with specified parameters) - substitution & expansion operators Conditional directives are complicated by the fact that "ifdef rax" is a valid way to check if a file is being assembled for a 64-bit x86 processor; we add support for "ifdef <register>" in general, which requires adding a tryParseRegister method to all MCTargetAsmParsers. (Some targets require backtracking in the non-register case.) Reviewers: rnk, thakis Reviewed By: thakis Subscribers: kerbowa, merge_guards_bot, wuzish, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, mgorny, sbc100, jgravelle-google, hiraditya, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, Jim, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72680 -
Nikita Popov authored
Don't copy the IRBuilder when an InsertPointGuard would also do.
-
Nikita Popov authored
Fix a few cases where an IRBuilder is passed to a helper function by value, while a by reference pass was intended.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Nikita Popov authored
This reverts commit 0765d382. This reverts commit 1b04866a. Relevant looking crashes observed on: http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win
-
- Feb 16, 2020
-
-
Sanjay Patel authored
getOperationCost() is not the cost we wanted; that's not the throughput value that the rest of the calculation uses. We may want to switch everything in this code to use the getInstructionThroughput() wrapper to avoid these kinds of problems, but I'll look at that as a follow-up because that can create other logical diffs via using optional parameters (we'd need to speculatively create the vector instruction to make a fair(er) comparison).
-
Sanjay Patel authored
The unseen logic diff occurs because MayFoldLoad() is defined like this: static bool MayFoldLoad(SDValue Op) { return Op.hasOneUse() && ISD::isNormalLoad(Op.getNode()); } The test diffs here all seem ok to me on screen/paper, but it's hard to know if that will lead to universally better perf for all targets. For example, if a target implements broadcast from mem as multiple uops, we would have to weigh the potential reduction of instructions and register pressure vs. possible increase in number of uops. I don't know if we can make a truly informed decision on this at compile-time. The motivating case that I'm looking at in PR42024: https://bugs.llvm.org/show_bug.cgi?id=42024 ...resembles the diff in extract-concat.ll, but we're not going to change the larger example there without at least 1 other fix. Differential Revision: https://reviews.llvm.org/D74088 -
Nikita Popov authored
Rather than mixing creation of new instructions and in-place modification here, create a new log2 intrinsic. This should be NFC apart from worklist order changes.
-