summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ELF2: Implement __start_SECNAME and __stop_SECNAME.Rui Ueyama2015-10-154-0/+102
| | | | | | | | | | If a section name is valid as a C identifier (which is rare because of the leading '.'), linkers are expected to define __start_<secname> and __stop_<secname> symbols. They are at beginning and end of the section, respectively. This is not requested by the ELF standard, but GNU ld and gold provide this feature. llvm-svn: 250432
* Change test to use FileCheck rather than grep.Kevin B. Smith2015-10-151-1/+7
| | | | | | Differential Revision: http://reviews.llvm.org/D13751 llvm-svn: 250431
* Revert 250343 and 250344Philip Reames2015-10-152-203/+0
| | | | | | | | | | | | | | | | | | | | | | | | Turns out this approach is buggy. In discussion about follow on work, Sanjoy pointed out that we could be subject to circular logic problems. Consider: if (i u< L) leave() if ((i + 1) u< L) leave() print(a[i] + a[i+1]) If we know that L is less than UINT_MAX, we could possible prove (in a control dependent way) that i + 1 does not overflow. This gives us: if (i u< L) leave() if ((i +nuw 1) u< L) leave() print(a[i] + a[i+1]) If we now do the transform this patch proposed, we end up with: if ((i +nuw 1) u< L) leave_appropriately() print(a[i] + a[i+1]) That would be a miscompile when i==-1. The problem here is that the control dependent nuw bits got used to prove something about the first condition. That's obviously invalid. This won't happen today, but since I plan to enhance LVI/CVP with exactly that transform at some point in the not too distant future... llvm-svn: 250430
* x86 FP atomic codegen: don't drop globals, stackJF Bastien2015-10-152-5/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: x86 codegen is clever about generating good code for relaxed floating-point operations, but it was being silly when globals and immediates were involved, forgetting where the global was and loading/storing from/to the wrong place. The same applied to hard-coded address immediates. Don't let it forget about the displacement. This fixes https://llvm.org/bugs/show_bug.cgi?id=25171 A very similar bug when doing floating-points atomics to the stack is also fixed by this patch. This fixes https://llvm.org/bugs/show_bug.cgi?id=25144 Reviewers: pete Subscribers: llvm-commits, majnemer, rsmith Differential Revision: http://reviews.llvm.org/D13749 llvm-svn: 250429
* Put back doxygen comment accidentally dropped in r250418.Benjamin Kramer2015-10-151-0/+5
| | | | llvm-svn: 250428
* Sample Profiles - Adjust integer types. Mostly NFC.Diego Novillo2015-10-156-84/+91
| | | | | | | | | | | | | | This adjusts all integers in the reader/writer to reflect the types stored on profile files. They should all be unsigned 32-bit or 64-bit values. Changed all associated internal types to be uint32_t or uint64_t. The only place that needed some adjustments is in the sample profile transformation. Altough the weight read from the profile are 64-bit values, the internal API for branch weights only accepts 32-bit values. The pass now saturates weights that overflow uint32_t. llvm-svn: 250427
* Fix broken assert in DWARFDIE.cpp on OS XTodd Fiala2015-10-151-1/+1
| | | | | | | See: http://reviews.llvm.org/D13777 llvm-svn: 250426
* Prevent assertion with "llc -debug" and anonymous symbols.Tim Northover2015-10-151-1/+1
| | | | llvm-svn: 250425
* [ELF2/PPC64] Error on R_PPC64_ADDR16 overflowHal Finkel2015-10-152-1/+10
| | | | | | | R_PPC64_ADDR16 is not a truncated relocation, and should error if the address cannot be represented in 16 bits. llvm-svn: 250424
* Revert "r250372 - [ELF2/PPC64] Remove now-dead weak/undef check"Hal Finkel2015-10-152-1/+24
| | | | | | | | | | | Unfortunately, the check was not as dead as I had thought, and adjusting the starting VA again exposed the problem. We end up trying to relocate the bl (using a 24-bit relative offset) to a symbol address of zero, and in general, that does not fit. Thus, reverting for now, and adding a test case. llvm-svn: 250423
* clang-format/java: Break after annotations on fields in Chromium style.Nico Weber2015-10-154-6/+14
| | | | | | | | | | | Chromium follows the Android style guide for Java code, and that doesn't make the distinction between fields and non-fields that the Google Java style guide makes: https://source.android.com/source/code-style.html#use-standard-java-annotations https://google.github.io/styleguide/javaguide.html#s4.8.5-annotations llvm-svn: 250422
* Centralize the handling of r_addend. NFC.Rafael Espindola2015-10-153-24/+43
| | | | | | | | | | | When a relocation points to a SHF_MERGE section, the addend has special meaning. It should be used to find what in the section the relocation points to. It should not be added to the output position. Centralizing it means that the above rule will be implemented once, not once per target. llvm-svn: 250421
* Lit: Rework r249161; Move RLIMIT_NPROC to main.py.NAKAMURA Takumi2015-10-152-22/+22
| | | | | | The message "raised the process limit..." prevented the progress bar. llvm-svn: 250420
* Use OutputSectionBase in a few cases where we don't need a OutputSection.Rafael Espindola2015-10-157-15/+19
| | | | | | | NFC. This is just preparation for adding a new OutputSection dedicated to SHF_MERGE input sections. llvm-svn: 250419
* [CodeGen] Remove dead code. NFC.Benjamin Kramer2015-10-1515-235/+1
| | | | llvm-svn: 250418
* [ScalarOpts] Remove dead code.Benjamin Kramer2015-10-155-53/+9
| | | | | | Does not touch debug dumpers. NFC. llvm-svn: 250417
* Add support for CloudABI/aarch64.Ed Schouten2015-10-151-0/+2
| | | | | | | The core C library has already been ported over to aarch64 successfully, meaning there is no reason to hold this change back. llvm-svn: 250416
* Recommit r250345, it was reverted in r250366 to investigate a bot failure.Manman Ren2015-10-158-5/+285
| | | | | | Our internal bot is still red after r250366. llvm-svn: 250415
* [mips][ias] Implement ulh macro.Daniel Sanders2015-10-155-9/+230
| | | | | | | | | | | | | | Summary: This macro is needed to prevent test/CodeGen/Mips/2008-08-01-AsmInline.ll from failing after the integrated assembler is enabled by default. Reviewers: vkalintiris Subscribers: llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D13654 llvm-svn: 250414
* Require Windows API of version 6.1 (Windows 7).Pawel Bylica2015-10-151-3/+3
| | | | llvm-svn: 250413
* Revert "Fix temporary directory computation on linux (pr25147)"Pavel Labath2015-10-152-13/+19
| | | | | | I actually did not want to commit this without review, but I mistyped. :/ llvm-svn: 250412
* Do not add accesses for intra-ScopStmt scalar def-use chainsMichael Kruse2015-10-153-15/+2
| | | | | | | | | | | | When pulling a llvm::Value to be written as a PHI write, the former code did only check whether it is within the same basic block, but it could also be the same non-affine subregion. In that case some unecessary pair of MemoryAccesses would have been created. Two unit test were explicitely checking for the unecessary writes, including the comments that the writes are unecessary. llvm-svn: 250411
* [NVPTX] Remove dead code.Benjamin Kramer2015-10-159-222/+0
| | | | | | I left helpers that look useful for debugging alone. NFC. llvm-svn: 250410
* Fix temporary directory computation on linux (pr25147)Pavel Labath2015-10-152-19/+13
| | | | | | | | | | | | | | | | | On linux, the environment variables for temp directories that lldb checks for are generally not defined, and the temp directory computation failed. This caused expression evaluation to fall back to creating "/tmp/lldb-*.expr" debugging files instead of the usual "$TMP/lldb/pid/lldb-*.expr". Crucially, these files were not cleaned up on lldb exit, which caused clutter in the /tmp folder, especially on long-running machines (e.g. builtbots). This commit fixes lldb to use llvm::sys::path::system_temp_directory, which does the same environment variable dance, but (!) also falls back to the P_tmpdir macro, which is how the temp directory is defined on linux. Since the linux temp path computation now succeeds, I needed to also modify Android path computation to check for actual directory existence, rather then checking whether the operation failed. llvm-svn: 250409
* Remove "CHECK: br" from some unit testsMichael Kruse2015-10-152-5/+0
| | | | | | | | | They happen to match %polly.subregion.iv.inc = add i32 %polly.subregion.iv, 1 ^^ ^^ that is, are misleading in what they actually check. llvm-svn: 250408
* [mips][mips16] MIPS16 is not a CPU/Architecture but is an ASE.Daniel Sanders2015-10-15137-167/+165
| | | | | | | | | | | | | | | | Summary: The -mcpu=mips16 option caused the Integrated Assembler to crash because it couldn't figure out the architecture revision number to write to the .MIPS.abiflags section. This CPU definition has been removed because, like microMIPS, MIPS16 is an ASE to a base architecture. Reviewers: vkalintiris Subscribers: rkotler, llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D13656 llvm-svn: 250407
* [X86] Rip out orphaned method declarations and other dead code. NFC.Benjamin Kramer2015-10-157-53/+0
| | | | llvm-svn: 250406
* [DebugInfo] Remove dead forwarding accessors. NFC.Benjamin Kramer2015-10-151-19/+0
| | | | llvm-svn: 250405
* Silencing a -Wtype-limits warning; an unsigned value will always be >= 0; NFC.Aaron Ballman2015-10-151-1/+1
| | | | llvm-svn: 250404
* Tweak to make clang/test/Driver/ps4-linker-win.c less sinsitive of DLL path.NAKAMURA Takumi2015-10-152-7/+9
| | | | | | | | | | | - On mingw-w64, libstdc++-6.dll is used for clang.exe. The DLL might not be in Windows' system directory. - With --enable-shared, DLLs might be in ${CMAKE_BINARY_DIR}/bin. I understand this test confirms that appropriate name of executable can be found on %PATH%. Therefore I added "Output\\" before each expression. FIXME: The output directory %T is hardcoded like "Output\\ps4-ld.exe". llvm-svn: 250403
* Revert "Clang support for -flto=thin." (bot failures)Teresa Johnson2015-10-1512-167/+43
| | | | | | | | | | | Rolling this back for now since there are a couple of bot failures on the new tests I added, and I won't have a chance to look at them in detail until later this afternoon. I think the new tests need some restrictions on having the gold plugin available. This reverts commit r250398. llvm-svn: 250402
* AVX512: Implemented DAG lowering for shuff62x2/shufi62x2 instructions ( ↵Igor Breger2015-10-158-121/+406
| | | | | | | | shuffle packed values at 128-bit granularity ) Differential Revision: http://reviews.llvm.org/D13648 llvm-svn: 250400
* [CMake] check-llvm requires llvm-pdbdump.NAKAMURA Takumi2015-10-151-0/+1
| | | | llvm-svn: 250399
* Clang support for -flto=thin.Teresa Johnson2015-10-1512-43/+167
| | | | | | | | | | | | | | | | | | | Summary: Add clang support for -flto=thin option, which is used to set the EmitFunctionSummary code gen option on compiles. Add -flto=full as an alias to the existing -flto. Add tests to check for proper overriding of -flto variants on the command line, and convert grep tests to FileCheck. Reviewers: dexonsmith, joker.eph Subscribers: davidxl, cfe-commits Differential Revision: http://reviews.llvm.org/D11908 llvm-svn: 250398
* Recognize -Bshareable alias for -sharedEd Maste2015-10-151-0/+1
| | | | llvm-svn: 250397
* AVX512: Implemented encoding and intrinsics for vpternlogd/q.Igor Breger2015-10-1510-4/+751
| | | | | | Differential Revision: http://reviews.llvm.org/D13768 llvm-svn: 250396
* Rename CAlloc since it allocates sections, not chunks.Rafael Espindola2015-10-151-2/+2
| | | | llvm-svn: 250395
* Remove unnecessary llvm:: prefix.Rafael Espindola2015-10-151-1/+1
| | | | llvm-svn: 250394
* Add -sort-includes to our automatic source code formattingTobias Grosser2015-10-151-2/+2
| | | | llvm-svn: 250393
* Sort includes using 'clang-format -sort-includes'Tobias Grosser2015-10-153-4/+4
| | | | llvm-svn: 250392
* Superficial fix for the windows build when building with ↵Aidan Dodds2015-10-151-0/+2
| | | | | | LLDB_DISABLE_PYTHON. The definition of lldb::SBTypeSummary and some methods of lldb::SBValue are hidden via a LLDB_DISABLE_PYTHON check, causing an compilation fail because of their use here. llvm-svn: 250391
* AVX-512: Fixed a bug in shuffle lowering 32-bit modeElena Demikhovsky2015-10-152-607/+1460
| | | | | | | | | AVX-512 bit shuffle fails on 32 bit since we create a vector of 64-bit constants. I split 8x64-bit const vector to 16x32 on 32-bit mode. Differential Revision: http://reviews.llvm.org/D13644 llvm-svn: 250390
* Add testcase for SCEV explansion in non-affine subregionsMichael Kruse2015-10-151-0/+89
| | | | | | | | | | When sharing the same map from old to new value, CodeGeneration would reuse the same new value for each basic block. However, the SCEV expander might emit code in a basic block that does not dominate a use of the SCEV in another basic block. This test checks whether both such blocks have their own expanded new values. llvm-svn: 250389
* Headers: Switch some headers to LF line endings for consistency.Peter Collingbourne2015-10-155-343/+343
| | | | llvm-svn: 250388
* [x86] Merge test pr24562.ll into x86-fold-pshufb.ll. NFC.Andrea Di Biagio2015-10-152-20/+18
| | | | llvm-svn: 250387
* Make windows.h less evil.Benjamin Kramer2015-10-151-0/+3
| | | | llvm-svn: 250386
* [llvm-pdbdump] Remove oddly placed parens that MSVC doesn't likeBenjamin Kramer2015-10-151-1/+1
| | | | llvm-svn: 250385
* Don't pretend AMDGPU backend knows how to custom-lower UDIVREM for vector ↵Artyom Skrobov2015-10-151-1/+1
| | | | | | | | | | | | types; it can't Reviewers: arsenm, jvesely, tstellarAMD Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D13734 llvm-svn: 250384
* Speculatively unbreak Windows buildDavid Majnemer2015-10-151-2/+2
| | | | | | | | <windows.h> defines macros named min and max in conflict with <algorithm>. Prevent macro expansion by wrapping std::min in parenthesis. llvm-svn: 250383
* [mips][microMIPS] Implement DPA.W.PH, DPAQ_S.W.PH, DPAQ_SA.L.W, ↵Zlatko Buljan2015-10-156-14/+59
| | | | | | | | DPAQX_S.W.PH, DPAQX_SA.W.PH, DPAU.H.QBL, DPAU.H.QBR and DPAX.W.PH instructions Differential Revision: http://reviews.llvm.org/D13376 llvm-svn: 250382
OpenPOWER on IntegriCloud