- May 20, 2016
-
-
Justin Bogner authored
Owen no longer has time to tend to the yaks in SelectionDAG. llvm-svn: 270253
-
Jun Bum Lim authored
Summary: As this optimization converts two loads into one load with two shift instructions, it could potentially hurt performance if a loop is arithmetic operation intensive. Reviewers: t.p.northover, mcrosier, jmolloy Subscribers: evandro, jmolloy, aemerson, rengolin, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D20172 llvm-svn: 270251
-
Mark Lacey authored
Check that the incoming blocks of phi nodes are identical, and block function merging if they are not. rdar://problem/26255167 Differential Revision: http://reviews.llvm.org/D20462 llvm-svn: 270250
-
Quentin Colombet authored
The Fast mode takes the first mapping, the greedy mode loops over all the possible mapping for an instruction and choose the cheaper one. Test case will come with target specific code, since we currently do not have instructions that have several mappings. llvm-svn: 270249
-
Chris Bieneman authored
The uuid_command was duplicating the load_command.cmdsize field. This removes the duplicate from the YAML mapping and from the test cases. llvm-svn: 270248
-
Quentin Colombet authored
This is now encapsulated in the RepairingPlacement class. llvm-svn: 270247
-
David Majnemer authored
We performed a number of memory allocations each time getTTI was called, remove them by using SmallString. No functionality change intended. llvm-svn: 270246
-
Quentin Colombet authored
computeMapping. Computing the cost of a mapping takes some time. Since in Fast mode, the cost is irrelevant, just spare some cycles by not computing it. In Greedy mode, we need to choose the best cost, that means that when the local cost gets more expensive than the best cost, we can stop computing the repairing and cost for the current mapping. llvm-svn: 270245
-
Quentin Colombet authored
more precise cost in Greedy mode. In Fast mode the cost is irrelevant so do not bother requiring that those passes get scheduled. llvm-svn: 270244
-
Quentin Colombet authored
llvm-svn: 270242
-
Chris Bieneman authored
This adds support for handling unknown load commands, and a bogus_load_command tests. Unknown or unsupported load commands can be specified in YAML by their hex value. llvm-svn: 270239
-
Sanjay Patel authored
llvm-svn: 270237
-
Sanjay Patel authored
llvm-svn: 270236
-
Quentin Colombet authored
The mode should be choose by the target when instantiating the pass. llvm-svn: 270235
-
Sanjay Patel authored
llvm-svn: 270234
-
Krzysztof Parzyszek authored
- Do not store Twine objects. - Remove report_fatal_error, since llvm_unreachable does terminate the program in release mode. llvm-svn: 270233
-
Quentin Colombet authored
The previous choice of the insertion points for repairing was straightfoward but may introduce some basic block or edge splitting. In some situation this is something we can avoid. For instance, when repairing a phi argument, instead of placing the repairing on the related incoming edge, we may move it to the previous block, before the terminators. This is only possible when the argument is not defined by one of the terminator. llvm-svn: 270232
-
Davide Italiano authored
Inline getAnalysisUsage() while I'm here. llvm-svn: 270231
-
Simon Pilgrim authored
This patch is a first step towards a more extendible method of matching combined target shuffle masks. Initially this just pulls out the existing basic mask matches and adds support for some 256/512 bit equivalents. Future patterns will require a number of features to be added but I wanted to keep this patch simple. I hope we can avoid duplication between shuffle lowering and combining and share more complex pattern match functions in future commits. Differential Revision: http://reviews.llvm.org/D19198 llvm-svn: 270230
-
Simon Pilgrim authored
llvm-svn: 270229
-
Davide Italiano authored
llvm-svn: 270228
-
Davide Italiano authored
[PM/PartiallyInlineLibCalls] Convert to static function in preparation for porting this pass to the new PM. llvm-svn: 270225
-
Sanjay Patel authored
This was noted in PR24766: https://llvm.org/bugs/show_bug.cgi?id=24766#c2 We may not know whether the sign bit(s) are zero or one, but we can still optimize based on knowing that the sign bit is repeated. Differential Revision: http://reviews.llvm.org/D20275 llvm-svn: 270222
-
Krzysztof Parzyszek authored
llvm-svn: 270220
-
Krzysztof Parzyszek authored
llvm-svn: 270219
-
Sanjay Patel authored
I accidentally exposed a bug in MCExpr::evaluateAsRelocatableImpl() with the test file added in: http://reviews.llvm.org/rL269977 Differential Revision: http://reviews.llvm.org/D20434 llvm-svn: 270218
-
Krzysztof Parzyszek authored
llvm-svn: 270217
-
Rafael Espindola authored
This refactors the logic in X86 to avoid code duplication. It also splits it in two steps: it first decides if a symbol is local to the DSO and then uses that information to decide how to access it. The first part is implemented by shouldAssumeDSOLocal. It is not in any way specific to X86. In a followup patch I intend to move it to somewhere common and reused it in other backends. llvm-svn: 270209
-
Rafael Espindola authored
We now handle them just like non hidden ones. This was already the case on x86 (r207518) and arm (r207517). llvm-svn: 270205
-
NAKAMURA Takumi authored
llvm-svn: 270200
-
Chris Dewhurst authored
Allows Sparc registers to be specifically referred to in inline assembly. llvm-svn: 270198
-
Benjamin Kramer authored
llvm-svn: 270195
-
Igor Kudrin authored
[Coverage] Fix an issue where improper coverage mapping data could be loaded for an inline function. If an inline function is observed but unused in a translation unit, dummy coverage mapping data with zero hash is stored for this function. If such a coverage mapping section came earlier than real one, the latter was ignored. As a result, llvm-cov was unable to show coverage information for those functions. Differential Revision: http://reviews.llvm.org/D20286 llvm-svn: 270194
-
Chris Dewhurst authored
Note: This is specifically to allow GCC's test pr44707 to pass. Trivial change, not put for differential revision. Test included. llvm-svn: 270192
-
Diana Picus authored
llvm-svn: 270190
-
Saleem Abdulrasool authored
Move the enumeration back to avoid the layering violation. Should repair the modules build. llvm-svn: 270184
-
Craig Topper authored
[X86] Run the AVX/AVX2 intrinsic tests in AVX512VL mode too just to make sure we don't break any older intrinsics. llvm-svn: 270183
-
Craig Topper authored
llvm-svn: 270182
-
Saleem Abdulrasool authored
Move the ExceptionHandling enumeration into TargetOptions and introduce a field to track the desired exception model. This will allow us to set the exception model from the frontend (needed to optionally use SjLj EH on other targets where zero-cost is available and preferred). llvm-svn: 270178
-
Jacques Pienaar authored
Follow r269988 and use Optional<Reloc>. llvm-svn: 270176
-