- Nov 04, 2017
-
-
Aaron Ballman authored
Move the LLVMCFIVerify project into the Libraries folder on IDEs like Visual Studio rather than leave it in the root directory. NFC. llvm-svn: 317415
-
Aaron Ballman authored
Move these CMake projects into the Tests folder on IDEs like Visual Studio rather than leave it in the root directory. NFC. llvm-svn: 317414
-
Craig Topper authored
[X86] Don't use RCP14 and RSQRT14 for reciprocal estimations or for legacy SSE rcp/rsqrt intrinsics when AVX512 features are enabled. Summary: AVX512 added RCP14 and RSQRT instructions which improve accuracy over the legacy RCP and RSQRT instruction, but not enough accuracy to remove the need for a Newton Raphson refinement. Currently we use these new instructions for the legacy packed SSE instrinics, but not the scalar instrinsics. And we use it for fast math optimization of division and reciprocal sqrt. I think switching the legacy instrinsics maybe surprising to the user since it changes the answer based on which processor you're using regardless of any fastmath settings. It's also weird that we did something different between scalar and packed. As far at the reciprocal estimation, I think it creates unnecessary deltas in our output behavior (and prevents EVEX->VEX). A little playing around with gcc and icc and godbolt suggest they don't change which instructions they use here. This patch adds new X86ISD nodes for the RCP14/RSQRT14 and uses those for the new intrinsics. Leaving the old intrinsics to use the old instructions. Going forward I think our focus should be on -Supporting 512-bit vectors, which will have to use the RCP14/RSQRT14. -Using RSQRT28/RCP28 to remove the Newton Raphson step on processors with AVX512ER -Supporting double precision. Reviewers: zvi, DavidKreitzer, RKSimon Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39583 llvm-svn: 317413
-
Craig Topper authored
llvm-svn: 317412
-
Tamas Berghammer authored
Summary: Posix core files sometime don't contain enough information to correctly detect the OS. If that is the case we should use the OS from the target instead as it will contain usable information in more cases and if the target and the core contain different OS-es then we are already in a pretty bad state so moving from an unknown OS to a known (but possibly incorrect) OS will do no harm. We already had similar code in place for MIPS. This change tries to make it more generic by using ArchSpec::MergeFrom and extends it to all architectures but some MIPS specific issue prevent us from getting rid of special casing MIPS. Reviewers: clayborg, nitesh.jain Subscribers: aemerson, sdardis, arichardson, kristof.beyls, lldb-commits Differential Revision: https://reviews.llvm.org/D36046 llvm-svn: 317411
-
Craig Topper authored
[X86] Teach EVEX->VEX pass to turn SHUFI32X4/SHUFF32X4/SHUFI64X/SHUFF64X2 into VPERM2F128/VPERM2I128. This recovers some of the tests that were changed by r317403. llvm-svn: 317410
-
Yaxun Liu authored
AMDGPULibFunc hardcodes address space values of the old address space mapping, which causes invalid addrspacecast instructions and undefined functions in APPSDK sample MonteCarloAsianDP. This patch fixes that. Differential Revision: https://reviews.llvm.org/D39616 llvm-svn: 317409
-
Sean Fertile authored
Now that we have a way to mark GlobalValues as local we can use the symbol resolutions that the linker plugin provides as part of lto/thinlto link step to refine the compilers view on what symbols will end up being local. Originally commited as r317374, but reverted in r317395 to update some missed tests. Differential Revision: https://reviews.llvm.org/D35702 llvm-svn: 317408
-
Sanjay Patel authored
This is just an oversight because we already do recognize __builtin_remquo() with the same signature. http://en.cppreference.com/w/c/numeric/math/remquo http://pubs.opengroup.org/onlinepubs/9699919799/functions/remquo.html Differential Revision: https://reviews.llvm.org/D39615 llvm-svn: 317407
-
George Rimar authored
Stop using SectionKey for creating output sections. Initially SectionKey was designed because we merged section with use of Flags and Alignment fields. Currently LLD merges them by name only, except the case when -relocatable output is produced. In that case we still merge sections only with the same flags and alignment. There is probably no issue at all to stop using Flags and Alignment for -r and just disable the merging in that case. After doing that change we can get rid of using SectionKey. That is not only simplifies the code, but also gives some perfomance boost. I tried to link chrome and mozilla, results are next: * chrome link time goes from 1,666750355s to 1,551585364s, that is about 7%. * mozilla time changes from 3,210261947 to 3,153782940, or about 2%. Differential revision: https://reviews.llvm.org/D39594 llvm-svn: 317406
-
George Rimar authored
Currently LLD tries to use information about functions and variables location taking it from debug sections. When --strip-* is given we discard such sections and that breaks error reporting. Patch stops discarding such sections and just removes them from InputSections list. Differential revision: https://reviews.llvm.org/D39550 llvm-svn: 317405
-
NAKAMURA Takumi authored
FIXME: LLVM_BUILD_32_BITS should modify host_triple. llvm-svn: 317404
-
Craig Topper authored
This allows masked operations to be used and allows the register allocator to use YMM16-31 if necessary. As a follow up I'll look into teaching EVEX->VEX how to turn this back into PERM2X128 if any of the additional features don't work out. llvm-svn: 317403
-
NAKAMURA Takumi authored
llvm-svn: 317402
-
NAKAMURA Takumi authored
llvm-svn: 317401
-
Martell Malone authored
GNU frontends don't have options like /MT, /MD This fixes a few link error regressions with libc++ and libc++abi Reviewers: rnk, mstorsjo, compnerd Differential Revision: https://reviews.llvm.org/D33620 llvm-svn: 317398
-
Martell Malone authored
This is a re-apply of rL313082 which was reverted in rL313088 In rL289668 the ability to specify the default linker at compile time was added but because the MinGW driver used custom detection we could not take advantage of this new CMAKE flag CLANG_DEFAULT_LINKER. rL289668 added no test cases and the mingw driver was either overlooked or purposefully skipped because it has some custom linker tests Removing them here because they are covered by the generic case. Reviewers: rnk Differntial Revision: https://reviews.llvm.org/D37727 llvm-svn: 317397
-
Petr Hosek authored
Fixes PR34948. Differential Revision: https://reviews.llvm.org/D39511 llvm-svn: 317396
-
Sean Fertile authored
Changes more tests then expected on one of the build bots. reverting to investigate. This reverts https://llvm.org/svn/llvm-project/llvm/trunk@317374 llvm-svn: 317395
-
Richard Trieu authored
Add a mix of postive and negative tests to check that wrong Decls won't be flagged in the diagnostic. Split the check everything test and moved the pieces closer to where the related tests are. llvm-svn: 317394
-
Davide Italiano authored
Thanks to Rui for pointing out. llvm-svn: 317393
-
Rui Ueyama authored
This patch is mechanically created by sed -i -e s/Body/Sym/g lld/ELF/*.{cpp,h} and clang-format-diff. llvm-svn: 317392
-
Mehdi Amini authored
Summary: The PARENT_TARGET was correctly set under APPLE but not under linux. Reviewers: kubamracek, samsonov Subscribers: dberris, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D39621 llvm-svn: 317391
-
Kostya Kortchinsky authored
Summary: To be compliant with https://llvm.org/docs/CodingStandards.html#include-style, system headers have to come after local headers. Reviewers: alekseyshl Reviewed By: alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39623 llvm-svn: 317390
-
Alex Shlyapnikov authored
Summary: Call NanoTime() in primary 64 bit allocator only when necessary, otherwise the unwarranted syscall causes problems in sandbox environments. ReleaseToOSIntervalMs() conditional allows them to turn the feature off with allocator_release_to_os_interval_ms=-1 flag. Reviewers: eugenis Subscribers: kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D39624 llvm-svn: 317386
-
Davide Italiano authored
llvm-svn: 317385
-
- Nov 03, 2017
-
-
Rui Ueyama authored
Since SymbolBody is gone, "Body" is not a good variable name. This patch renames or eliminates them. llvm-svn: 317384
-
Rui Ueyama authored
llvm-svn: 317383
-
Craig Topper authored
[X86] Give unary PERMI priority over SHUF128 in lowerV8I64VectorShuffle to make it possible to fold a load. llvm-svn: 317382
-
Eugene Zelenko authored
llvm-svn: 317381
-
Zachary Turner authored
A mechanical rename caused an illegal name conflict between a variable and a type, which was picked up by GCC. llvm-svn: 317380
-
David Blaikie authored
This header already includes a CodeGen header and is implemented in lib/CodeGen, so move the header there to match. This fixes a link error with modular codegeneration builds - where a header and its implementation are circularly dependent and so need to be in the same library, not split between two like this. llvm-svn: 317379
-
Bob Haarman authored
This reverts commit 00b7acb8f6c8a4663bb7c8396d217c210209b562. It was causing some links to execute llvm_unreachable. llvm-svn: 317378
-
Pavel Labath authored
The member is completely unused. Discussed on lldb-dev. llvm-svn: 317377
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D39541 llvm-svn: 317376
-
Adrian Prantl authored
This preserves the debug info for the cast operation in the original location. rdar://problem/33460652 Reapplied r317340 with the test moved into an ARM-specific directory. llvm-svn: 317375
-
Sean Fertile authored
Now that we have a way to mark GlobalValues as local we can use the symbol resolutions that the linker plugin provides as part of lto/thinlto link step to refine the compilers view on what symbols will end up being local. Differential Revision: https://reviews.llvm.org/D35702 llvm-svn: 317374
-
Kevin Enderby authored
file with a bad section number. rdar://35207539 llvm-svn: 317373
-
Alex Lorenz authored
llvm-svn: 317372
-
Peter Collingbourne authored
This change resulted in a measured 1.5-2% perf regression linking chrome. llvm-svn: 317371
-