summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* R600/SI: Fix bug in VGPR spillingTom Stellard2015-05-125-76/+69
| | | | | | | | | | | | AMDGPU::SI_SPILL_V96_RESTORE was missing from a switch statement, which caused the srsrc and soffset register to not be set correctly. This commit replaces the switch statement with a SITargetInfo query to make sure all spill instructions are covered. Differential Revision: http://reviews.llvm.org/D9582 llvm-svn: 237164
* [lib/Fuzzer] guess the right number of workers if -jobs=N is given but ↵Kostya Serebryany2015-05-125-7/+22
| | | | | | -workers=M is not. Update the docs. llvm-svn: 237163
* Windows: fix bug in getcwd() and add chdir().Ted Woodward2015-05-124-13/+16
| | | | | | | | | | | | | | | | | Summary: GetCurrentDirectory() returns the number of characters copied; 0 is a failure, not a success. Add implementation for chdir(). Reviewers: zturner Reviewed By: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9300 llvm-svn: 237162
* [Builtins] Implement half-precision conversions.Ahmed Bougacha2015-05-1211-5/+470
| | | | | | | | | | | | | | | | | Mostly uninteresting, except: - in __extendXfYf2, when checking if the number is normal, the old code relied on the unsignedness of src_rep_t, which is a problem when sizeof(src_rep_t) < sizeof(int): the result gets promoted to int, the signedness of which breaks the comparison. I added an explicit cast; it shouldn't affect other types. - we can't pass __fp16, so src_t and src_rep_t are the same. - the gnu_*_ieee symbols are simply duplicated definitions, as aliases are problematic on mach-o (where only weak aliases are supported; that's not what we want). Differential Revision: http://reviews.llvm.org/D9693 llvm-svn: 237161
* Revert r237157, "YAML: Fix typos. NFC".Alex Lorenz2015-05-121-2/+2
| | | | | | 'Iff' isn't a typo, it's a shorthand for 'if and only if'. llvm-svn: 237160
* Fixed double-free in case of module loading error.Artem Belevich2015-05-122-2/+7
| | | | | | | | | | | | | GetOutputStream() owns the stream it returns pointer to and the pointer should never be freed by us. When we fail to load and exit early, unique_ptr still holds the pointer and frees it which leads to compiler crash when CompilerInstance attempts to free it again. Added regression test for failed bitcode linking. Differential Revision: http://reviews.llvm.org/D9625 llvm-svn: 237159
* [mips][microMIPSr6] Implement SELEQZ and SELNEZ instructionsJozef Kolek2015-05-125-3/+42
| | | | | | | | This patch implements SELEQZ and SELNEZ instructions using mapping. Differential Revision: http://reviews.llvm.org/D8497 llvm-svn: 237158
* YAML: Fix typos. NFC.Alex Lorenz2015-05-121-2/+2
| | | | llvm-svn: 237157
* Reimplement heuristic for estimating complete-unroll optimization effects.Michael Zolotukhin2015-05-123-250/+336
| | | | | | | | | | | | | | | | | | | | Summary: This patch reimplements heuristic that tries to estimate optimization beneftis from complete loop unrolling. In this patch I kept the minimal changes - e.g. I removed code handling branches and folding compares. That's a promising area, but now there are too many questions to discuss before we can enable it. Test Plan: Tests are included in the patch. Reviewers: hfinkel, chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8816 llvm-svn: 237156
* Implement sin for double typesTom Stellard2015-05-121-7/+16
| | | | | | | This implementation was ported from the AMD builtin library and has been tested with piglit, OpenCV, and the ocl conformance tests. llvm-svn: 237155
* Implement cos for double typesTom Stellard2015-05-125-7/+289
| | | | | | | This implementation was ported from the AMD builtin library and has been tested with piglit, OpenCV, and the ocl conformance tests. llvm-svn: 237154
* [Mips] Return false for isFPCloseToIncomingSP()Petar Jovanovic2015-05-122-0/+34
| | | | | | | | | | | | | On Mips, frame pointer points to the same side of the frame as the stack pointer. This function is used to decide where to put register scavenging spill slot. So far, it was put on the wrong side of the frame, and thus it was too far away from $fp when frame was larger than 2^15 bytes. Patch by Vladimir Radosavljevic. http://reviews.llvm.org/D8895 llvm-svn: 237153
* R600/SI: add pass to mark CF live ranges as non-spillableTom Stellard2015-05-125-0/+611
| | | | | | | | | | | | | | | | | | | | | | Spilling can insert instructions almost anywhere, and this can mess up control flow lowering in a multitude of ways, due to instruction reordering. Let's sort this out the easy way: never spill registers involved with control flow, i.e. saved EXEC masks. Unfortunately, this does not work at all with optimizations disabled, as the register allocator ignores spill weights. This should be addressed in a future commit. The test was reduced from the "stacks" shader of [1]. Some issues trigger the machine verifier while another one is checked manually. [1] http://madebyevan.com/webgl-path-tracing/ v2: only insert pass with optimizations enabled, merge test runs. Patch by: Grigori Goronzy llvm-svn: 237152
* Changed renaming of local symbols by inserting a dot vefore the numeric suffixSunil Srivastava2015-05-1235-82/+82
| | | | | | | details in http://reviews.llvm.org/D9483 goes with llvm checkin r237150 llvm-svn: 237151
* Changed renaming of local symbols by inserting a dot vefore the numeric suffix.Sunil Srivastava2015-05-1229-121/+121
| | | | | | | One code change and several test changes to match that details in http://reviews.llvm.org/D9481 llvm-svn: 237150
* [sanitizer] Update "sancov.py missing" to allow __sanitizer_cov_with_check().Sergey Matveev2015-05-121-1/+5
| | | | llvm-svn: 237149
* Delete dead code. NFCJonathan Roelofs2015-05-121-1/+0
| | | | llvm-svn: 237148
* [sanitizer] Override pipefail in coverage-missing test.Sergey Matveev2015-05-121-8/+2
| | | | | | This should finally fix it. llvm-svn: 237147
* Comment disambiguation.Douglas Katzman2015-05-121-2/+2
| | | | llvm-svn: 237146
* [DWARF] Add CIE header fields address_size and segment_size when generating ↵Keith Walker2015-05-125-13/+56
| | | | | | | | | | | | | dwarf-4 The DWARF-4 specification added 2 new fields in the CIE header called address_size and segment_size. Create these 2 new fields when generating dwarf-4 CIE entries, print out the new fields when dumping the CIE and update tests Differential Revision: http://reviews.llvm.org/D9558 llvm-svn: 237145
* use 'auto' to improve readability; NFCSanjay Patel2015-05-121-2/+1
| | | | llvm-svn: 237144
* R600/SI: Update tablegen defs to avoid restoring spilled sgprs to m0Tom Stellard2015-05-122-9/+4
| | | | | | | | We had code to do this in SIRegisterInfo::eliminateFrameIndex(), but it is easier to just change the definition of SI_SPILL_S32_RESTORE to only allow numbered sgprs. llvm-svn: 237143
* R600/SI: Remove M0Reg register classTom Stellard2015-05-124-5/+2
| | | | | | It is no longer used. llvm-svn: 237142
* R600/SI: Remove explicit m0 operand from DS instructionsTom Stellard2015-05-128-120/+261
| | | | | | | Instead add m0 as an implicit operand. This helps avoid spills of the m0 register in some cases. llvm-svn: 237141
* R600/SI: Remove explicit m0 operand from v_interp instructionsTom Stellard2015-05-126-33/+59
| | | | | | | Instead add m0 as an implicit operand. This helps avoid spills of the m0 register in some cases. llvm-svn: 237140
* fix typos, grammar; NFCSanjay Patel2015-05-121-2/+2
| | | | llvm-svn: 237139
* Implement atan2pi builtinTom Stellard2015-05-125-0/+270
| | | | | | | This implementation was ported from the AMD builtin library and has been tested with piglit, OpenCV, and the ocl conformance tests. llvm-svn: 237138
* [sanitizer] Re-enable a broken test with debug output.Sergey Matveev2015-05-121-1/+7
| | | | llvm-svn: 237137
* Fix clang-format build from the solution; the underlying path has changed to ↵Manuel Klimek2015-05-121-2/+2
| | | | | | include the VS directory structure. llvm-svn: 237136
* XFAIL and Skip flaky test case on linuxTamas Berghammer2015-05-121-0/+2
| | | | llvm-svn: 237135
* R600/SI: Make sendmsg test more strictTom Stellard2015-05-121-0/+2
| | | | | | We want to make sure that the m0 copies are being cse'd. llvm-svn: 237134
* R600/SI: Remove explicit m0 operand from s_sendmsgTom Stellard2015-05-126-8/+36
| | | | | | | | | | | | | | | Instead add m0 as an implicit operand. This allows us to avoid using the M0Reg register class and eliminates a number of unnecessary spills when using s_sendmsg instructions. This impacts one shader in the shader-db: SGPRS: 48 -> 40 (-16.67 %) VGPRS: 112 -> 108 (-3.57 %) Code Size: 40132 -> 38796 (-3.33 %) bytes LDS: 0 -> 0 (0.00 %) blocks Scratch: 2048 -> 0 (-100.00 %) bytes per wave llvm-svn: 237133
* R600/SI: Replace TRI->getRegClass(Reg) with TRI->getPhysRegClass(Reg)Tom Stellard2015-05-123-7/+11
| | | | | | | TRI->getRegClass() takes a register class ID, not a register. We were using this incorrectly in a few places. llvm-svn: 237132
* Implement atan2 for doublesTom Stellard2015-05-123-2/+412
| | | | | | | This implementation was ported from the AMD builtin library and has been tested with piglit, OpenCV, and the ocl conformance tests. llvm-svn: 237131
* patch to allow lib name at configure time (from C.Bergstrom)Andrey Churbanov2015-05-121-1/+2
| | | | llvm-svn: 237130
* AVX-512, X86: Added lowering for shift operations for SKX.Elena Demikhovsky2015-05-122-101/+94
| | | | | | | | The other changes in the LowerShift() are not functional, just to make the code more convenient. So, the functional changes for SKX only. llvm-svn: 237129
* Call remote platform GetSupportedArchitectureAtIndex if connected to remote.Robert Flack2015-05-121-9/+27
| | | | | | | | | | | | | | | | | Updated PlatformLinux::GetSupportedArchitectureAtIndex to call the PlatformRemoteGdbServer::GetSupportedArchitectureAtIndex if connected remotely. This should return the correct thing for android (to fix those failing tests), and is also working for mac to linux. Test Plan: ./dotest.py $DOTEST_OPTS -t -p TestCallStdStringFunction.py The above still passes when running mac->linux indicating it successfully identified PlatformLinux as the target platform and converted the mmap options correctly. Differential Revision: http://reviews.llvm.org/D9672 llvm-svn: 237128
* [ARM] Use AEABI aligned function variantsJohn Brawn2015-05-123-82/+223
| | | | | | | | | | | AEABI defines aligned variants of memcpy etc. that can be faster than the default version due to not having to do alignment checks. When emitting target code for these functions make use of these aligned variants if possible. Also convert memset to memclr if possible. Differential Revision: http://reviews.llvm.org/D8060 llvm-svn: 237127
* Reverse ordering of base and derived pointer during safepoint lowering.Igor Laevsky2015-05-123-31/+148
| | | | | | | | According to the documentation in StackMap section for the safepoint we should have: "The first Location in each pair describes the base pointer for the object. The second is the derived pointer actually being relocated." But before this change we emitted them in reverse order - derived pointer first, base pointer second. llvm-svn: 237126
* Missing file runtime/src/include/41/ompt.h.var added; fixed build to ↵Andrey Churbanov2015-05-122-1/+477
| | | | | | optionally use added file. llvm-svn: 237125
* D9576: Updates documentation to include all possible architecture builds, ↵Andrey Churbanov2015-05-123-37/+74
| | | | | | synchronizes runtime/README.txt and www/README.txt, updates the building-with-CMake documentation. This change also changes references of Intel(R) OpenMP Library to LLVM OpenMP Library. llvm-svn: 237124
* Remove superfluous SmallString cast.Yaron Keren2015-05-121-1/+1
| | | | llvm-svn: 237123
* [X86] Remove useless target specific combine on TRUNCATE dag nodes.Andrea Di Biagio2015-05-121-11/+0
| | | | | | | | | | | | | Before revision 171146, function 'PerformTruncateCombine' used to perform a premature lowering of TRUNCATE dag nodes. Revision 171146 then moved all the logic implemented by PerformTruncateCombine to a custom lowering hook. However, that revision forgot to delete function PerformTruncateCombine from the code. This patch removes function 'PerformTruncateCombine' since it has no effect on the SelectionDAG. No functional change intended. llvm-svn: 237122
* [mips][FastISel] Handle calls with non legal types i8 and i16.Vasileios Kalintiris2015-05-122-1/+187
| | | | | | | | | | | | | | | | | | Summary: Allow calls with non legal integer types based on i8 and i16 to be processed by mips fast-isel. Based on a patch by Reed Kotler. Test Plan: "Make check" test forthcoming. Test-suite passes at O0/O2 and with mips32 r1/r2 Reviewers: rkotler, dsanders Subscribers: llvm-commits, rfuhler Differential Revision: http://reviews.llvm.org/D6770 llvm-svn: 237121
* [clang-tidy] Treat all types with non-trivial destructors as RAII.Alexander Kornienko2015-05-122-3/+11
| | | | | | | This solves some false negatives at a cost of adding some false positives that can be fixed easily and (almost) automatically. llvm-svn: 237120
* [mips][FastISel] Simplify callabi.ll by using multiple check prefixes.Vasileios Kalintiris2015-05-121-397/+274
| | | | | | | | | | Reviewers: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9635 llvm-svn: 237119
* Disable GCC optimizations for builtin functions in lldb testsIlia K2015-05-121-1/+1
| | | | | | | | | This patch adds new default flag -fno-builtin which forces gcc to not optimize builtin functions. For example, without this flag GCC replaces printf("hello\n") -> puts("hello") even if -O0 was specified Also this patch fixes the MiDataTestCase.test_lldbmi_data_disassemble test on Linux/gcc. llvm-svn: 237118
* [mips][FastISel] Allow computation of addresses from constant expressions.Vasileios Kalintiris2015-05-122-2/+22
| | | | | | | | | | | | | | | | | | | Summary: Try to compute addresses when the offset from a memory location is a constant expression. Based on a patch by Reed Kotler. Test Plan: Passes test-suite for -O0/O2 and mips 32 r1/r2 Reviewers: rkotler, dsanders Subscribers: llvm-commits, aemerson, rfuhler Differential Revision: http://reviews.llvm.org/D6767 llvm-svn: 237117
* Fix misleading parameter name for PPCallbacks::FileSkipped.Nikola Smiljanic2015-05-122-3/+3
| | | | | | Patch thanks to Vladimir Voskresensky. llvm-svn: 237116
* Fix misleading parameter name for PPCallbacks::FileSkipped.Nikola Smiljanic2015-05-122-9/+10
| | | | | | Patch thanks to Vladimir Voskresensky. llvm-svn: 237115
OpenPOWER on IntegriCloud