- Nov 17, 2016
-
-
Chris Bieneman authored
This patch adds an option to the build system LLVM_DEPENDENCY_DEBUGGING. Over time I plan to extend this to do more complex verifications, but the initial patch causes compile errors wherever there is missing a dependency on intrinsics_gen. Because intrinsics_gen is a compile-time dependency not a link-time dependency, everything that relies on the headers generated in intrinsics_gen needs an explicit dependency. llvm-svn: 287207
-
Chris Bieneman authored
This patch updates a bunch of places where add_dependencies was being explicitly called to add dependencies on intrinsics_gen to instead use the DEPENDS named parameter. This cleanup is needed for a patch I'm working on to add a dependency debugging mode to the build system. llvm-svn: 287206
-
Konstantin Zhuravlyov authored
llvm-svn: 287204
-
Konstantin Zhuravlyov authored
llvm-svn: 287203
-
Konstantin Zhuravlyov authored
llvm-svn: 287201
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D26732 llvm-svn: 287199
-
Lang Hames authored
llvm-svn: 287195
-
Dehao Chen authored
Summary: For flat loop, even if it is hot, it is not a good idea to unroll in runtime, thus we set a lower partial unroll threshold. For hot loop, we set a higher unroll threshold and allows expensive tripcount computation to allow more aggressive unrolling. Reviewers: davidxl, mzolotukhin Subscribers: sanjoy, mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D26527 llvm-svn: 287186
-
Justin Lebar authored
The last remaining necessary change was D25403, landed as r287012. llvm-svn: 287184
-
Lang Hames authored
llvm-svn: 287183
-
Peter Collingbourne authored
llvm-svn: 287182
-
Dylan McKay authored
This is a remnant of an on-chip unit testing tool that has since been moved out-of-tree. It was accidentally committed in r287162. llvm-svn: 287180
-
Peter Collingbourne authored
This pass splits globals into elements using inrange annotations on getelementptr indices. Differential Revision: https://reviews.llvm.org/D22295 llvm-svn: 287178
-
Dylan McKay authored
The '-fpermissive' compiler flag complains if the template specializations used in the class are used in a different namespace. llvm-svn: 287176
-
- Nov 16, 2016
-
-
Dylan McKay authored
The branch selector would change the names. llvm-svn: 287174
-
Dylan McKay authored
llvm-svn: 287173
-
Dylan McKay authored
This adds two test files that verify the 'cttz' and 'ctlz' operations. llvm-svn: 287172
-
Sanjay Patel authored
We save an inter-register file move this way. If there's any CPU where the FP logic is slower, we could transform this back to int-logic in MachineCombiner. This helps, but doesn't solve, PR6137: https://llvm.org/bugs/show_bug.cgi?id=6137 The 'andn' test shows that we're missing a pattern match to recognize the xor with -1 constant as a 'not' op. llvm-svn: 287171
-
Ahmed Bougacha authored
This should prevent stack overflows in non-optimized builds on .ll files with lots of consecutive commented-out lines. Instead of recursing into LexToken(), continue into a 'while (true)'. llvm-svn: 287170
-
Ahmed Bougacha authored
While there, rename them to follow the coding style. llvm-svn: 287169
-
Ahmed Bougacha authored
This reverts commit r286962. We want to avoid depending on SelectionDAG, and AddLandingPadInfo lives in CodeGen now. llvm-svn: 287168
-
Ahmed Bougacha authored
They're not SelectionDAG- or FunctionLoweringInfo-specific. They are, however, specific to building MMI from IR. We could make them members, but it's nice having MMI be a "simple" data structure and this logic kept separate. This also lets us reuse them from GlobalISel. llvm-svn: 287167
-
Ahmed Bougacha authored
Remove redundant names and only keep header comments. llvm-svn: 287166
-
Ahmed Bougacha authored
llvm-svn: 287165
-
Kevin Enderby authored
No real functional change with this commit. The problem with report_fatal_error() is it does not include the tool name and the file name the for which the error message was generated. Uses of report_fatal_error() were change to report_error() or error() to get a better error and to make the code smaller and cleaner. Also changed things like error(errorToErrorCode(SOrErr.takeError())) to use report_error() with a file name and the llvm::Error (as well as the ArchitectureName if available) so the error message is printed. llvm-svn: 287163
-
Dylan McKay authored
Summary: A lot of the pseudo instructions are required because LLVM assumes that all integers of the same size as the pointer size are legal. This means that it will not currently expand 16-bit instructions to their 8-bit variants because it thinks 16-bit types are legal for the operations. This also adds all of the CodeGen tests that required the pass to run. Reviewers: arsenm, kparzysz Subscribers: wdng, mgorny, modocache, llvm-commits Differential Revision: https://reviews.llvm.org/D26577 llvm-svn: 287162
-
Vitaly Buka authored
llvm-svn: 287161
-
Peter Collingbourne authored
We only ever create TargetConstantPool, TargetJumpTable, TargetExternalSymbol, TargetGlobalAddress, TargetGlobalTLSAddress, MCSymbol and TargetBlockAddress nodes as operands of X86ISD::Wrapper nodes, so we can remove one check and invert the other. Also update the documentation comment for X86ISD::Wrapper. Differential Revision: https://reviews.llvm.org/D26731 llvm-svn: 287160
-
Sanjoy Das authored
We don't track callee clobbered registers correctly, so avoid hoisting across calls. Note: for this bug to trigger we need a `readonly` call target, since we already have logic to not hoist across potentially storing instructions either. llvm-svn: 287159
-
Peter Collingbourne authored
Implement getLazyBitcodeModule() and parseBitcodeFile() in terms of it. Differential Revision: https://reviews.llvm.org/D26719 llvm-svn: 287156
-
Tim Northover authored
One half of the shifts obviously needed conditional selection based on whether the shift amount is more than 32-bits, but leaving the other half as the natural shift isn't acceptable either: it's undefined behaviour to shift a 32-bit value by more than 31. llvm-svn: 287149
-
Rong Xu authored
We fail to produce bit-to-bit matching stage2 and stage3 compiler in PGO bootstrap build. The reason is because LoopBlockSet is of SmallPtrSet type whose iterating order depends on the pointer value. This patch fixes this issue by changing to use SmallSetVector. Differential Revision: http://reviews.llvm.org/D26634 llvm-svn: 287148
-
Sanjay Patel authored
llvm-svn: 287147
-
Matt Arsenault authored
This fixes a probably unintended divergence from the default scheduler behavior. llvm-svn: 287146
-
Sanjay Patel authored
llvm-svn: 287145
-
Geoff Berry authored
Summary: Extend replaceZeroVectorStore to handle more vector type stores, floating point zero vectors and set alignment more accurately on split stores. This is a follow-up change to r286875. This change fixes PR31038. Reviewers: MatzeB Subscribers: mcrosier, aemerson, llvm-commits, rengolin Differential Revision: https://reviews.llvm.org/D26682 llvm-svn: 287142
-
Mandeep Singh Grang authored
Summary: This patch fixes issues in codegen uncovered due to https://reviews.llvm.org/D26718 Reviewers: mssimpso Subscribers: llvm-commits, mzolotukhin Differential Revision: https://reviews.llvm.org/D26727 llvm-svn: 287135
-
Tom Stellard authored
Summary: 1. Don't try to copy values to and from the same register class. 2. Replace copies with of registers with immediate values with v_mov/s_mov instructions. The main purpose of this change is to make MachineSink do a better job of determining when it is beneficial to split a critical edge, since the pass assumes that copies will become move instructions. This prevents a regression in uniform-cfg.ll if we enable critical edge splitting for AMDGPU. Reviewers: arsenm Subscribers: arsenm, kzhuravl, llvm-commits Differential Revision: https://reviews.llvm.org/D23408 llvm-svn: 287131
-
Eugene Zelenko authored
llvm-svn: 287130
-
Sanjay Patel authored
llvm-svn: 287127
-