- Nov 08, 2016
-
-
Eli Friedman authored
(No testcase because it's difficult to force an error here.) Differential Revision: https://reviews.llvm.org/D26371 llvm-svn: 286177
-
Enrico Granata authored
Simplify the PrintableRepresentationSpecialCases code; we never used the ePrintableRepresentationSpecialCasesOnly value and with enum classes the names doesn't need to be that long llvm-svn: 286176
-
Chad Rosier authored
llvm-svn: 286174
-
Chad Rosier authored
llvm-svn: 286173
-
Adam Nemet authored
llvm-svn: 286172
-
Stanislav Mekhanoshin authored
Codegen prepare sinks comparisons close to a user is we have only one register for conditions. For AMDGPU we have many SGPRs capable to hold vector conditions. Changed BE to report we have many condition registers. That way IR LICM pass would hoist an invariant comparison out of a loop and codegen prepare will not sink it. With that done a condition is calculated in one block and used in another. Current behavior is to store workitem's condition in a VGPR using v_cndmask and then restore it with yet another v_cmp instruction from that v_cndmask's result. To mitigate the issue a forward propagation of a v_cmp 64 bit result to an user is implemented. Additional side effect of this is that we may consume less VGPRs in a cost of more SGPRs in case if holding of multiple conditions is needed, and that is a clear win in most cases. llvm-svn: 286171
-
- Nov 07, 2016
-
-
Jim Ingham authored
if it returns eExpressionCompleted. Don't try to get the error from the ValueObjectSP if that's not true. I just have a report of this from the field, I don't know how to make it fail yet. <rdar://problem/29113004> llvm-svn: 286170
-
Adam Nemet authored
With this we get a new field in the YAML record if the value being streamed out has a debug location. For examples, please see the changes to the tests. This is then used in opt-viewer to display a link for the callee function in the inlining remarks. Differential Revision: https://reviews.llvm.org/D26366 llvm-svn: 286169
-
Sanjin Sijaric authored
Summary: Some vector loads and stores generated from AArch64 intrinsics alias each other unnecessarily, preventing better scheduling. We just need to transfer memory operands during lowering. Reviewers: mcrosier, t.p.northover, jmolloy Subscribers: aemerson, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D26313 llvm-svn: 286168
-
Lang Hames authored
programmer's manual. ExitOnError is often a better alternative to handleErrors for tool code. This patch makes it easier to find the ExitOnError discussion when reading the handleErrors section. Thanks to Peter Collingbourne for the suggestion. llvm-svn: 286167
-
Kuba Brecka authored
llvm-svn: 286166
-
Sanjoy Das authored
Address review by Eli Friedman on rL286147. llvm-svn: 286165
-
Mehdi Amini authored
llvm-svn: 286164
-
Mehdi Amini authored
llvm-svn: 286163
-
Mehdi Amini authored
Summary: This allows to have clang and llvm and the other subprojects side-by-side instead of nested. This can be used with the monorepo or multiple repos. It will help having a single set of sources checked out but allows to have a build directory with llvm and another one with llvm+clang. Basically it abstracts LLVM_EXTERNAL_xxxx_SOURCE_DIR making it more convenient by adopting a convention. Reviewers: bogner, beanz, jlebar Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D26365 llvm-svn: 286162
-
Mehdi Amini authored
Differential Revision: https://reviews.llvm.org/D26364 llvm-svn: 286161
-
Derek Schuff authored
Because we shift the stack pointer by an unknown amount, we need an additional pointer. In the case where we have variable-size objects as well, we can't reuse the frame pointer, thus three pointers. Patch by Jacob Gravelle Differential Revision: https://reviews.llvm.org/D26263 llvm-svn: 286160
-
Dehao Chen authored
This is to prevent SetInsertionPoint from setting debug loc to Latch->getTerminator(). llvm-svn: 286159
-
Davide Italiano authored
llvm-svn: 286158
-
Davide Italiano authored
This is more clear, as we have also GNU hash these days.. llvm-svn: 286157
-
Haojian Wu authored
Summary: r285239 changes the behavior of AST CXXDefaultArgExpr node. Update `modernize-use-nullptr` to handle CXXDefaultArgExpr correctly. Reviewers: alexfh Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26301 llvm-svn: 286156
-
Felix Berger authored
Summary: Move in complete type test which does not compile into its own test file. Reviewers: alexfh, sbenza, aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26369 llvm-svn: 286155
-
Argyrios Kyrtzidis authored
- Infer the right symbol kind. - Provide a templated USR, similar to how we handle class templates. rdar://28980398 llvm-svn: 286154
-
Argyrios Kyrtzidis authored
llvm-svn: 286153
-
John McCall authored
llvm-svn: 286152
-
Sean Callanan authored
llvm-svn: 286151
-
Reid Kleckner authored
Negative exit codes are usually exceptions. They're easier to recognize in hex. Compare -1073741502 to 0xc0000142. llvm-svn: 286150
-
Evgeniy Stepanov authored
Summary: Use -fsanitize-recover instead of -mllvm -msan-keep-going: unit tests. Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26355 Patch by Aleksey Shlyapnikov. llvm-svn: 286149
-
Evgeniy Stepanov authored
Summary: Use -fsanitize-recover instead of -mllvm -msan-keep-going: pass -fsanitize-recover value to msan. Reviewers: eugenis Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26354 Patch by Aleksey Shlyapnikov. llvm-svn: 286148
-
Sanjoy Das authored
Summary: In some specific scenarios with well understood operand bundle types (like `"deopt"`) it may be possible to go ahead and convert recursion to iteration, but TailRecursionElimination does not have that logic today so avoid doing the right thing for now. I need some input on whether `"funclet"` operand bundles should also block tail recursion elimination. If not, I'll allow TRE across calls with `"funclet"` operand bundles and add a test case. Reviewers: rnk, majnemer, nlewycky, ahatanak Subscribers: mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D26270 llvm-svn: 286147
-
Davide Italiano authored
llvm-svn: 286146
-
Evgeniy Stepanov authored
Summary: Use -fsanitize-recover instead of -mllvm -msan-keep-going. Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26352 llvm-svn: 286145
-
Sean Callanan authored
expansions by calling getSpellingLoc(). That's great in most cases, but for macros defined in the '<built-in>' source file, the source file is invalid and does not import correctly, causing an assertion failure (the assertion is Invalid SLocOffset or bad function choice). A more reliable way to avoid this is to use getFileLoc(), which does not return built-in locations. This avoids the crash but still preserves valid source locations. I've added a testcase that covers the previously crashing scenario. https://reviews.llvm.org/D26054 llvm-svn: 286144
-
Jordan Rose authored
llvm-svn: 286141
-
Mehdi Amini authored
llvm-svn: 286140
-
Jordan Rose authored
Similar to r283798, this prevents accidentally referring to temporary storage that goes out of scope by the end of the statement: someStringRef = getStringByValue(); someStringRef = (Twine("-") + otherString).str(); Note that once again the constructor still has this problem: StringRef someStringRef = getStringByValue(); because once again we occasionally rely on this in calls: takesStringRef(getStringByValue()); takesStringRef(Twine("-") + otherString); Still, it's a step. llvm-svn: 286139
-
Mehdi Amini authored
Add a new script in llvm/utils/git-svn/. When present in the $PATH, it enables a `git llvm` command. It is providing at this point only the ability to push from the git monorepo: `git llvm push`. It is intended to evolves with more features, for instance I plan on features like `git llvm show r284955` to help working with sequential revision numbers. The push feature is taken from Justin Lebar's script available here: https://github.com/jlebar/llvm-repo-tools/ Differential Revision: https://reviews.llvm.org/D26334 llvm-svn: 286138
-
Davide Italiano authored
llvm-svn: 286137
-
Kuba Brecka authored
Although rare, atomic accesses to floating-point types seem to be valid, i.e. `%a = load atomic float ...`. The TSan instrumentation pass however tries to emit inttoptr, which is incorrect, we should use a bitcast here. Anyway, IRBuilder already has a convenient helper function for this. Differential Revision: https://reviews.llvm.org/D26266 llvm-svn: 286136
-
Kuba Brecka authored
Although rare, atomic accesses to floating-point types seem to be valid, i.e. `%a = load atomic float ...`. The TSan instrumentation pass however tries to emit inttoptr, which is incorrect, we should use a bitcast here. Anyway, IRBuilder already has a convenient helper function for this. Differential Revision: https://reviews.llvm.org/D26266 llvm-svn: 286135
-