- Oct 05, 2021
-
-
Amara Emerson authored
G_SEXT seems to be unnecessary here, anyext will do. Differential Revision: https://reviews.llvm.org/D110469
-
Lei Huang authored
Update clang to treat vector unsigned long long and friends as invalid for AltiVec without VSX. Reported in: https://bugs.llvm.org/show_bug.cgi?id=47782 Reviewed By: nemanjai, amyk Differential Revision: https://reviews.llvm.org/D109178
-
Jean Perier authored
fir.array_update is only handling intrinsic assignments. They are two big differences with user defined assignments: 1. The LHS and RHS types may not match, this does not play well with fir.array_update that relies on both the merge and the updated element to have the same type. 2. user defined assignment has a call semantics, with potential side effects. So if a fir.array_update can hide a call, it traits would need to be updated. Instead of hiding more semantic in the fir.array_update, introduce a new fir.array_modify op that allows de-correlating indicating that an array value element is modified, and how it is modified. This allow the ArrayValueCopy pass to still perform copy elision while not having to implement the call itself, and could in general be used for all kind of assignments (e.g. character assignment). Update the alias analysis to not rely on the merge arguments (since fir.array_modify has none). Instead, analyze what is done with the element address. This implies adding the ability to follow the users of fir.array_modify, as well as being able to go through fir.store that may be generated to store the RHS value in order to pass it to a user define routine. This is done by adding a ReachCollector class to gather all array accesses. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D110928 Co-authored-by:
Valentin Clement <clementval@gmail.com>
-
Louis Dionne authored
I'm disabling it to avoid blocking everybody until I've fixed the issue.
-
Valentin Clement authored
Fix some clang-tidy wrning in flang/Optimizer/Support and remove explicit number of inlined elements for SmallVector. This is mostly to sync with the changes from fir-dev. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D111044
-
Simon Pilgrim authored
Both ports are required for BitScan ops. Update the port usage and distributed throughput based off the most recent llvm-exegesis captures (PR36895) and what Intel AoM / Agner reports as well.
-
Corentin Jabot authored
-
Jay Foad authored
Also remove some redundancy because the source and result types of any multiply are always the same. Differential Revision: https://reviews.llvm.org/D110926
-
Sanjay Patel authored
This splits out the logic from shouldChangeType() that currently allows 8/16/32-bit transforms even if those types are not listed as legal in the data layout. This could be useful as a predicate for vector insert/extract transforms. Note that this leaves the subsequent checks in shouldChangeType() unchanged. We may want to merge the checks for i1 and/or "ToLegal" into "isDesirable", but that may alter existing transforms.
-
Sanjay Patel authored
-
Amara Emerson authored
We were previously just ignoring unreachable, but targets like Darwin want to keep unreachable instructions as traps. Differential Revision: https://reviews.llvm.org/D110603
-
Amy Kwan authored
The LE Power sanitizer bot fails when testing standalone compiler-rt due to an MSAN test warning introduced by -Wbitwise-instead-of-logical. As this option along with -Werror is enabled on the bot, the test failure occurs. This patch updates msan_test.cpp to fix the warning introduced by the -Wbitwise-instead-of-logical.
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Kevin P. Neal authored
In working on D106362 I found that a few more tests were needed. I've been asked to pre-push the tests for that ticket. This should complete the tests needed for now.
-
Louis Dionne authored
-
Louis Dionne authored
-
David Green authored
AArch64StorePairSuppress will prevent the creation of LDP's based on scheduling info. This shouldn't apply when optimizing for size though, where the size decrease should be considered more important. Differential Revision: https://reviews.llvm.org/D110809
-
Raphael Isemann authored
The `fallback` setting for import-std-module is supposed to allow running expression that require an imported C++ module without causing any regressions for users (neither in terms of functionality nor performance). This is done by first trying to normally parse/evaluate an expression and when an error occurred during this first attempt, we retry with the loaded 'std' module. When we run into a system with a 'std' module that for some reason doesn't build or otherwise causes parse errors, then this currently means that the second parse attempt will overwrite the error diagnostics of the first parse attempt. Given that the module build errors are outside of the scope of what the user can influence, it makes more sense to show the errors from the first parse attempt that are only concerned with the actual user input. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D110696
-
Sylvestre Ledru authored
Differential Revision: https://reviews.llvm.org/D111043
-
peter klausler authored
The THEN keyword in the "ELSE IF (test) THEN" statement is useless syntactically, and to omit it is a common error (at least for me!) that has poor error recovery. This patch changes the parser to cough up a simple "expected 'THEN'" and still recognize the rest of the IF construct. Differential Revision: https://reviews.llvm.org/D110952
-
peter klausler authored
The first line of flang/include/flang/Runtime/magic-numbers.h got split into two somehow; join it back up. Differential Revision: https://reviews.llvm.org/D110965
-
Christopher Tetreault authored
In some build environments, the C++ compiler is unable to infer the correct type for the DenseMap::insert in isErrorBlock. Typing out std::make_pair helps.
-
Christopher Tetreault authored
Differential Revision: https://reviews.llvm.org/D110594
-
Weiwei Li authored
This patch is mainly to propogate location attribute from spv.GlobalVariable to llvm.mlir.global. It also contains three small changes. 1. Remove the restriction on UniformConstant In SPIRVToLLVM.cpp; 2. Remove the errorCheck on relaxedPrecision when deserializering SPIR-V in Deserializer.cpp 3. In SPIRVOps.cpp, let ConstantOp take signedInteger too. Co-authered: Alan Liu <alanliu.yf@gmail.com> and Xinyi Liu <xyliuhelen@gmail.com> Reviewed by:antiagainst Differential revision: https://reviews.llvm.org/D110207
-
- Oct 04, 2021
-
-
Alfsonso Gregory authored
The objc_clsopt_v16_t struct does not match up with the macOS/iOS15 dyld_shared_cache ObjC runtime structures. A struct field was seemingly omitted. Differential revision: https://reviews.llvm.org/D110477
-
Nico Weber authored
No behavior change.
-
Kazu Hirata authored
Note that arg_operands is considered a legacy name. See llvm/include/llvm/IR/InstrTypes.h for details.
-
Jinsong Ji authored
The test is generated by script, so we don't really need the regname to be meaniful here. AIX doesn't support the reg name option, removing it for now so that we can reuse the CHECKs for AIX triple as well.
-
Louis Dionne authored
-
LLVM GN Syncbot authored
-
Zurab Tsinadze authored
This patch introduces a new checker: `alpha.security.cert.env.InvalidPtr` Checker finds usage of invalidated pointers related to environment. Based on the following SEI CERT Rules: ENV34-C: https://wiki.sei.cmu.edu/confluence/x/8tYxBQ ENV31-C: https://wiki.sei.cmu.edu/confluence/x/5NUxBQ Reviewed By: martong Differential Revision: https://reviews.llvm.org/D97699
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Roman Lebedev authored
-
David Spickett authored
Since https://reviews.llvm.org/D109452 symbol-table.test has been failing on our Arm32 bots. https://lab.llvm.org/buildbot/#/builders/171/builds/4201 This is because in that change an implicit widening cast of the alignment from 32 bit to 64 bit was removed and the format string expects a 64 bit number.
-
Louis Dionne authored
-