- May 20, 2016
-
-
Justin Bogner authored
Owen no longer has time to tend to the yaks in SelectionDAG. llvm-svn: 270253
-
Jonathan Peyton authored
This patch doesn't affect D19878's context. So D19878 still cleanly applies. llvm-svn: 270252
-
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
-
Rafael Espindola authored
This adds direct support for computing offsets from the thread pointer for both variants. Of the architectures we support, variant 1 is used only by aarch64 (but that doesn't seem to be documented anywhere.) llvm-svn: 270243
-
Quentin Colombet authored
llvm-svn: 270242
-
Manman Ren authored
There is no need to apply kindof on an unqualified id type. rdar://24753825 llvm-svn: 270241
-
Dimitry Andric authored
The `FreeBSDTargetInfo` class has always set the `__FreeBSD_cc_version` predefined macro to a rather static value, calculated from the major OS version. In the FreeBSD base system, we will start incrementing the value of this macro whenever we make any signifant change to clang, so we need a way to configure the macro's value at build time. Use `FREEBSD_CC_VERSION` for this, which we can define in the FreeBSD build system using either the `-D` command line option, or an include file. Stock builds will keep the earlier value. Differential Revision: http://reviews.llvm.org/D20037 llvm-svn: 270240
-
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
-
Yaxun Liu authored
Patch by Aaron Enye Shi. Differential Revision: http://reviews.llvm.org/D17578 llvm-svn: 270238
-
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
-
Simon Pilgrim authored
llvm-svn: 270227
-
Adrian McCarthy authored
Differential Revision: http://reviews.llvm.org/D20454 llvm-svn: 270226
-
Davide Italiano authored
[PM/PartiallyInlineLibCalls] Convert to static function in preparation for porting this pass to the new PM. llvm-svn: 270225
-
Benjamin Kramer authored
This is matching what trunk gcc is accepting. Also adds a missing ssse3 case. PR27779. The amount of duplication here is annoying, maybe it should be factored into a separate .def file? llvm-svn: 270224
-
Bill Seurer authored
An upcoming change for ld in binutils 2.26 causes this test to always fail. llvm-svn: 270223
-
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
-
Krzysztof Parzyszek authored
llvm-svn: 270216
-
Alexander Kornienko authored
This should have been done this way from the start, however I somehow missed r257177. llvm-svn: 270215
-
Tamas Berghammer authored
The CL causes a build breakage on platforms where sizeof(double) == sizeof(long double) and it incorrectly assumes that sizeof(double) and sizeof(long double) is the same on the host and the target. llvm-svn: 270214
-
Ben Craig authored
The various _l locale extension functions originate from very different places. Some come from POSIX, some are BSD extensions, and some are shared BSD and GLIBC extensions. This patch tries to group the local extension reimplementations by source. This should make it easier to make libcxx work with POSIX compliant C libraries that lack these extensions. The fallback locale functions are also useful on their own for other lightweight platforms. Putting these fallback implementations in support/xlocale should enable code sharing. I have no access to a newlib system or an android system to build and test with. I _do_ have access to a system without any of the _l locale extensions though, and I was able to ensure that the new __posix_l_fallback.h and __strtonum_fallback.h didn't have any massive problems. http://reviews.llvm.org/D17416 llvm-svn: 270213
-