- Oct 03, 2013
-
-
Benjamin Kramer authored
llvm-svn: 191911
-
Jin-Gu Kang authored
or not. The corresponding dag patterns are as following: "DAGCombier::MatchRotate" function in DAGCombiner.cpp Pattern1 // fold (or (shl (*ext x), (*ext y)), // (srl (*ext x), (*ext (sub 32, y)))) -> // (*ext (rotl x, y)) // fold (or (shl (*ext x), (*ext y)), // (srl (*ext x), (*ext (sub 32, y)))) -> // (*ext (rotr x, (sub 32, y))) pattern2 // fold (or (shl (*ext x), (*ext (sub 32, y))), // (srl (*ext x), (*ext y))) -> // (*ext (rotl x, y)) // fold (or (shl (*ext x), (*ext (sub 32, y))), // (srl (*ext x), (*ext y))) -> // (*ext (rotr x, (sub 32, y))) llvm-svn: 191905
-
Benjamin Kramer authored
The heuristic was added to avoid spending too much compile time A specially crafted test case (PR17461, PR16474) with many uses on a select or bitcast instruction can still trigger the slow case. Add a check for that case. This only affects compile time, don't have a good way to test it. llvm-svn: 191896
-
Logan Chien authored
llvm-svn: 191891
-
Elena Demikhovsky authored
llvm-svn: 191889
-
Amara Emerson authored
Patch by Artyom Skrobov. llvm-svn: 191885
-
Alexey Samsonov authored
r191052 added emitting .debug_aranges to Clang, but this functionality is broken: it uses all MC labels added in DWARF Asm printer, including the labels for build relocations between different DWARF sections, like .Lsection_line or .Ldebug_loc0. As a result, if any DIE .debug_info would contain "DW_AT_location=0x123" attribute, .debug_aranges would also contain a range starting from 0x123, breaking tools that rely on this section. This patch fixes this by using only MC labels that corresponds to the addresses in the user program. llvm-svn: 191884
-
Craig Topper authored
llvm-svn: 191880
-
Craig Topper authored
llvm-svn: 191877
-
Craig Topper authored
llvm-svn: 191874
-
Craig Topper authored
llvm-svn: 191873
-
Craig Topper authored
llvm-svn: 191871
-
Pete Cooper authored
This is useful for some ARM intrinsics such as VCVTN which does a <4 x float> <-> <4 x half> conversion. llvm-svn: 191870
-
Rafael Espindola authored
This makes it possible to add timers to the code generator and still use them with -plugin-opt=emit-llvm. llvm-svn: 191866
-
Quentin Colombet authored
classes that are marked as Variant as those require an MI to pass to SubTargetInfo::resolveSchedClass. This is part of <rdar://problem/14687488>. llvm-svn: 191864
-
Matt Arsenault authored
Don't vectorize with a runtime check if it requires a comparison between pointers with different address spaces. The values can't be assumed to be directly comparable. Previously it would create an illegal bitcast. llvm-svn: 191862
-
Andrew Kaylor authored
llvm-svn: 191861
-
Quentin Colombet authored
disassembled output alongside the instructions. E.g., on a vector shuffle operation with a memory operand, disassembled outputs are: * Without the option: vpshufd $-0x79, (%rsp), %xmm0 * With the option: vpshufd $-0x79, (%rsp), %xmm0 ## Latency: 5 The printed latency is extracted from the schedule model available in the disassembler context. Thus, this option has no effect if there is not a scheduling model for the target. This boils down to one may need to specify the CPU string, so that this option could have an effect. Note: Latency < 2 are not printed. This part of <rdar://problem/14687488>. llvm-svn: 191859
-
- Oct 02, 2013
-
-
Benjamin Kramer authored
llvm-svn: 191857
-
Richard Smith authored
searching $PATH for it then blindly executing it from $PWD anyway. llvm-svn: 191856
-
Matt Arsenault authored
llvm-svn: 191853
-
Yi Jiang authored
llvm-svn: 191852
-
Matt Arsenault authored
Fix missing newlines, missing and extra spaces in printed messages. llvm-svn: 191851
-
Matt Arsenault authored
llvm-svn: 191850
-
Andrew Kaylor authored
llvm-svn: 191848
-
Benjamin Kramer authored
This recursively strips all GEPs like the existing code. It also handles bitcasts and other operations that do not change the pointer value. llvm-svn: 191847
-
Andrew Kaylor authored
llvm-svn: 191845
-
Andrew Kaylor authored
llvm-svn: 191844
-
Andrew Kaylor authored
At this time only Unix-based systems are supported. Windows has stubs and should re-route to the simulated mode. Thanks to Sriram Murali for contributions to this patch. llvm-svn: 191843
-
Tom Stellard authored
Switch instructions were crashing the StructurizeCFG pass, and it's probably easier anyway if we don't need to handle them in this pass. Reviewed-by:
Christian König <christian.koenig@amd.com> llvm-svn: 191841
-
Tim Northover authored
This should fix the i386 Darwin build-bot. llvm-svn: 191840
-
Vincent Lejeune authored
llvm-svn: 191838
-
Rafael Espindola authored
llvm-svn: 191836
-
Chandler Carruth authored
infrastructure. This was essentially work toward PGO based on a design that had several flaws, partially dating from a time when LLVM had a different architecture, and with an effort to modernize it abandoned without being completed. Since then, it has bitrotted for several years further. The result is nearly unusable, and isn't helping any of the modern PGO efforts. Instead, it is getting in the way, adding confusion about PGO in LLVM and distracting everyone with maintenance on essentially dead code. Removing it paves the way for modern efforts around PGO. Among other effects, this removes the last of the runtime libraries from LLVM. Those are being developed in the separate 'compiler-rt' project now, with somewhat different licensing specifically more approriate for runtimes. llvm-svn: 191835
-
Alexey Samsonov authored
Summary: As discussed in http://llvm-reviews.chandlerc.com/D1754, this optimization isn't really valid for C, and fires too rarely anyway. Reviewers: rafael, nicholas Reviewed By: nicholas CC: rnk, llvm-commits, nicholas Differential Revision: http://llvm-reviews.chandlerc.com/D1769 llvm-svn: 191834
-
Chandler Carruth authored
I really should sort it or do something more sustainable, but I couldn't work up the energy to do it... Sorry. llvm-svn: 191832
-
Rafael Espindola authored
llvm-svn: 191831
-
Rafael Espindola authored
llvm-svn: 191830
-
Rafael Espindola authored
This was broken when options were moved up in r191680. No test because this is specific LLVMgold.so/libLTO.so. Patch by Tom Roeder! llvm-svn: 191829
-
Chandler Carruth authored
line just to add or remove a single element. What I wouldn't give to have clang-format here an be able to format this more densely without caring... Re-group and sort the entries while here to make the whole thing more clear. llvm-svn: 191828
-