summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [AMDGPU] Assembler: remove unused AMDGPUMCObjectWriter.Sam Kolton2016-09-211-25/+0
| | | | | | | | | | | | Summary: It is replaced by AMDGPUELFObjectWriter Reviewers: tstellarAMD, vpykhtin, artem.tamazov Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl Differential Revision: https://reviews.llvm.org/D24654 llvm-svn: 282065
* Revert "[sanitizers] Update sanitizers test to better match glibc internals"Diana Picus2016-09-211-8/+2
| | | | | | This reverts commit r282061 because it broke the clang-cuda-build bot. llvm-svn: 282064
* [mips] LLVM PR/30197 - Tail call incorrectly clobbers arguments for mipsSimon Dardis2016-09-212-1/+56
| | | | | | | | | | | | | | | | | The postRA scheduler performs alias analysis to determine if stores and loads can moved past each other. When a function has more arguments than argument registers for the calling convention used, excess arguments are spilled onto the stack. LLVM by default assumes that argument slots are immutable, unless the function contains a tail call. Without the knowledge of that a function contains a tail call site, stores and loads to fixed stack slots may be re-ordered causing the out-going arguments to clobber the incoming arguments before the incoming arguments are supposed to be dead. Reviewers: vkalintiris Differential Review: https://reviews.llvm.org/D24077 llvm-svn: 282063
* [libcxxabi] cleanup the use of LIBCXXABI_HAS_NO_THREADS macro (NFC)Asiri Rathnayake2016-09-219-62/+47
| | | | | | | Align the naming / use of the macro LIBCXXABI_HAS_NO_THREADS to follow what we have in libcxx. NFC. llvm-svn: 282062
* [sanitizers] Update sanitizers test to better match glibc internalsDiana Picus2016-09-211-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | One of the tests relying on sem_t's layout gets the wrong value for versions of glibc newer than 2.21 on platforms that don't have 64-bit atomics (e.g. ARM). This commit fixes the test to work with: * versions of glibc >= 2.21 on platforms with 64-bit atomics: unchanged * versions of glibc >= 2.21 on platforms without 64-bit atomics: the semaphore value is shifted by SEM_VALUE_SHIFT (which is set to 1 in glibc's internal headers) * versions of glibc < 2.21: unchanged See the glibc 2.23 sources: * sysdeps/nptl/internaltypes.h (struct new_sem for glibc >= 2.21 and struct old_sem for glibc < 2.21) * nptl/sem_getvalue.c This was uncovered on one of the new buildbots that we are trying to move to production. Differential Revision: https://reviews.llvm.org/D24766 llvm-svn: 282061
* [ELF] - Linkerscript: reimplement readSectionExcludes()George Rimar2016-09-212-18/+21
| | | | | | | | | | | It is not only a bit more straightforward now, but also next 2 issues are solved: * It just crashed on ".foo : { *(EXCLUDE_FILE (*file1.o)) }" before. * It accepted multiple EXCLUDE_FILEs in a row. Differential revision: https://reviews.llvm.org/D24726 llvm-svn: 282060
* PR30401: Fix substitutions for functions with abi_tagDmitry Polukhin2016-09-212-2/+34
| | | | llvm-svn: 282059
* Revert "AArch64: Set shift bit of TLSLE HI12 add instruction"Diana Picus2016-09-212-18/+0
| | | | | | | This reverts commit r282057 because it broke the buildbots - see e.g. http://lab.llvm.org:8011/builders/clang-cmake-aarch64-42vma/builds/12063 llvm-svn: 282058
* AArch64: Set shift bit of TLSLE HI12 add instructionLei Liu2016-09-212-0/+18
| | | | | | | | | | | | Summary: AArch64 LLVM assembler emits add instruction without shift bit to calculate the higher 12-bit address of TLS variables in local exec model. This generates wrong code sequence to access TLS variables with thread offset larger than 0x1000. Reviewers: t.p.northover, peter.smith, rovka Subscribers: salim.nasser, aemerson, llvm-commits, rengolin Differential Revision: https://reviews.llvm.org/D24702 llvm-svn: 282057
* clang-format: [JS] do not wrapp @returns tags.Martin Probst2016-09-211-1/+2
| | | | | | | | | | | | Summary: @returns is incorrect code, the standard is @return. However wrapping it can still confuse users. Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D24767 llvm-svn: 282056
* [AVX-512] Split the 3 different usages of the X86ISD::FSETCC opcode into 3 ↵Craig Topper2016-09-214-12/+19
| | | | | | | | | | | | different opcodes. It turns out isel is really not robust against having different type profiles for the same opcode. It turns out that if you put an illegal rounding mode(i.e. not CUR_DIRECTION or NO_EXC) on a comiss intrinsic we would generate the FSETCC form with the rounding mode added, but then pattern match to an instruction with ROUND_CUR_DIRECTION. We can probably get away with just one FSETCCM opcode that always contains the rounding mode and explicitly put ROUND_CUR_DIRECTION in the pattern, but I'll leave that for future work. With this change the clang tests for the comiss intrinsics that used an incorrect rounding mode of 3 properly fail isel instead of silently doing the wrong thing. Those clang tests will be fixed in a follow up commit and I also plan to add rounding mode checking to clang. llvm-svn: 282055
* [CMake] Rename back SIMPLE_SOURCE to compile as C++Jonas Hahnfeld2016-09-212-2/+6
| | | | | | | | | | | | | This was changed in rL276151 and causes problems if the C++ compiler does not support the same arches as the C compiler. For the builtins, only the C compiler is tested in try_compile_only. Additionally, -fno-exceptions is passed in (if available) to work around the case where no libunwind is available. Differential Revision: https://reviews.llvm.org/D23654 llvm-svn: 282054
* llvm/test/CodeGen/NVPTX/zero-cs.ll: Relax an expression to match in -Asserts.NAKAMURA Takumi2016-09-211-1/+1
| | | | | | LLVM ERROR: Cannot select: 0x3607bf0: i32 = ExternalSymbol'__powidf2' llvm-svn: 282053
* [AVX-512] Don't add an additional rounding mode operand to the avx512 ↵Craig Topper2016-09-213-14/+11
| | | | | | | | | | vcvtps2ph intrinsic lowering. There was no way to control its value so it was always FROUND_CURRENT making it unnecessary. The true rounding mode is encoded in the immediate operand of the instruction. This also removes the pattern from the rb form of the instructions since there is no way to specify the FROUND_NO_EXC rounding mode it required. llvm-svn: 282052
* [AVX-512] Simplify handling of INTR_TYPE_1OP_MASK_RM to remove support for ↵Craig Topper2016-09-211-7/+1
| | | | | | | | the second opcode since its never used. This makes it consistent with INTR_TYPE_2OP_MASK_RM and INTR_TYPE_3OP_MASK_RM. And even if it was used we were passing the same operands to both so it wouldn't make sense to have two opcodes. llvm-svn: 282051
* [libFuzzer] fix libc++ buildKostya Serebryany2016-09-211-0/+1
| | | | llvm-svn: 282050
* Accept sh_entsize = 0.Rui Ueyama2016-09-213-10/+17
| | | | | | | | | | This surfaced again with Rust. As per bug 30435, rustc creates a mergeable section with a sh_entsize zero. It bit us before, too. I think we should relax the input check rather than being too picky. Differential Revision: https://reviews.llvm.org/D24789 llvm-svn: 282049
* [LV] When reporting about a specific instruction without debug location use ↵Adam Nemet2016-09-212-1/+82
| | | | | | | | loop's This can occur for example if some optimization drops the debug location. llvm-svn: 282048
* [libFuzzer] more refactoring; NFCKostya Serebryany2016-09-218-42/+74
| | | | llvm-svn: 282047
* [AVX-512] Don't lower avx512 vcvtps2ph/vcvtph2ps nodes to ↵Craig Topper2016-09-214-10/+15
| | | | | | ISD::FP16_TO_FP/ISD::FP_TO_FP16 with an extra x86 specific rounding mode operand. We should use a target specific ISD opcode. llvm-svn: 282046
* [NVPTX] Check if callsite is defined when computing argument allignmentJacques Pienaar2016-09-213-13/+30
| | | | | | | | | | | | Summary: In getArgumentAlignment check if the ImmutableCallSite pointer CS is non-null before dereferencing. If CS is 0x0 fall back to the ABI type alignment else compute the alignment as before. Reviewers: eliben, jpienaar Subscribers: jlebar, vchuravy, cfe-commits, jholewinski Differential Revision: https://reviews.llvm.org/D9168 llvm-svn: 282045
* [libFuzzer] refactoring: split the large header into many; NFCKostya Serebryany2016-09-2116-397/+539
| | | | llvm-svn: 282044
* Adds tests for breakpoint names, and a FindBreakpointsByName.Jim Ingham2016-09-216-4/+66
| | | | | | | | Also if you set a breakpoint with an invalid name, we'll refuse to set the breakpoint rather than silently ignoring the name. llvm-svn: 282043
* [libFuzzer] refactoring: move the Corpus into a separate class; delete two ↵Kostya Serebryany2016-09-218-163/+83
| | | | | | unused experimental features llvm-svn: 282042
* Fix Clang initialization and Clang-tidy modernize-use-nullptr warnings in ↵Eugene Zelenko2016-09-213-94/+97
| | | | | | | | source/Plugins/Process/Utility. Differential revision: https://reviews.llvm.org/D24694 llvm-svn: 282041
* Revert "TableGen: Switch from a std::map to a DenseMap in ↵Justin Bogner2016-09-211-1/+2
| | | | | | | | | | | | | CodeGenSubRegIndex. NFC" It turns out we iterate over this map a fair amount and the order matters for clang to be deterministic. See: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160919/391315.html This reverts r279875. llvm-svn: 282040
* [InferAttributes] Don't access parameters that don't exist.Michael Kuperstein2016-09-202-2/+15
| | | | | | | Check for the correct number of parameters before querying their type. This fixes PR30455. llvm-svn: 282038
* [ThinLTO] Always emit a summary when compiling in ThinLTO modeTeresa Johnson2016-09-209-12/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Emit an empty summary section, instead of no summary section, when there are no global variables in the index. This ensures that LTO will treat these files as ThinLTO inputs, instead of as regular LTO inputs. In addition to not being what the user likely intended when compiling with -flto=thin, the current behavior is problematic for distributed build systems that expect to get ThinLTO index and imports files back for each input compiled with -flto=thin. Combining into a single regular LTO module also reduces the backend parallelism. And in the case where the index was suppressed due to uses in inline assembly, combining into a single LTO module could provoke renaming of duplicates that we were trying to prevent by suppressing the index. This change required a couple of fixes to handle the empty summary section. Reviewers: mehdi_amini Subscribers: mehdi_amini, llvm-commits, pcc Differential Revision: https://reviews.llvm.org/D24779 llvm-svn: 282037
* Add some more tests for breakpoint serialization.Jim Ingham2016-09-2014-64/+270
| | | | | | | | | | Serialize breakpoint names & the hardware_requested attributes. Also added a few missing affordances to SBBreakpoint whose absence writing the tests pointed out. <rdar://problem/12611863> llvm-svn: 282036
* Revert "Revert "Only restrict order if both sections are in the script.""Rafael Espindola2016-09-206-26/+37
| | | | | | | | | | | | | | | | | | | This reverts commit r282021, bringing back r282015. The problem was that the comparison function was not a strict weak ordering anymore, which this patch fixes. Original message: Only restrict order if both sections are in the script. This matches gold and bfd behavior and is required to handle some scripts. The script has to assume where PT_LOADs start in order to align that spot. If we don't allow section it doesn't know about to move to the middle, we can need more PT_LOADs and those will not be aligned. llvm-svn: 282035
* code cleanup -- commoning IR travsersalsXinliang David Li2016-09-201-3/+5
| | | | llvm-svn: 282034
* Revert "[CMake] Explicitly add --target option to compiler flags"Chris Bieneman2016-09-201-12/+0
| | | | | | | | | This reverts commit r282024. This broke some bots, and I'm going to revert while I figure it out. See: http://lab.llvm.org:8011/builders/clang-x86_64-linux-abi-test/builds/21120 llvm-svn: 282033
* Unbreak the NetBSD build after recent changesKamil Rytarowski2016-09-201-1/+1
| | | | | | | | Similar to r281922 "Try to fix freebsd and android builds." Replace .AppendArgument(cstr) with .AppendArgument(llvm::StringRef(cstr)) llvm-svn: 282032
* Remove the default subtarget from the x86 port as it isn't necessary (orEric Christopher2016-09-202-4/+1
| | | | | | correct) anymore. llvm-svn: 282031
* [scudo] Fix a bug in the new Secondary AllocatorKostya Kortchinsky2016-09-202-44/+50
| | | | | | | | | | | | | | | | | | | Summary: GetActuallyAllocatedSize() was not accounting for the last page of the mapping being a guard page, and was returning the wrong number of actually allocated bytes, which in turn would mess up with the realloc logic. Current tests didn't find this as the size exercised was only serviced by the Primary. Correct the issue by subtracting PageSize, and update the realloc test to exercise paths in both the Primary and the Secondary. Reviewers: kcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24787 llvm-svn: 282030
* Enable clang attributes when using clang-cl.Zachary Turner2016-09-201-1/+1
| | | | llvm-svn: 282029
* Revert "Remove extra argument used once onEric Christopher2016-09-203-11/+12
| | | | | | | | | | | | TargetMachine::getNameWithPrefix and inline the result into the singular caller." and "Remove more guts of TargetMachine::getNameWithPrefix and migrate one check to the TLOF mach-o version." temporarily until I can get the whole call migrated out of the TargetMachine as we could hit places where TLOF isn't valid. This reverts commits r281981 and r281983. llvm-svn: 282028
* [CMake] Fix error preventing simulator sanitizers from buildingChris Bieneman2016-09-201-1/+1
| | | | | | | This should be checking for sim archs not target archs. This bug has been around for a long time. llvm-svn: 282025
* [CMake] Explicitly add --target option to compiler flagsChris Bieneman2016-09-201-0/+12
| | | | | | | | | | | | | | | Summary: Much of the non-Darwin build system assumes that COMPILER_RT_DEFAULT_TARGET_TRIPLE is the default target triple for the compiler being used. With clang as your compiler this isn't necessarily true. To ensure that the rest of the build system behaves as expected this patch adds "--target=${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" to the compiler flags for C, CXX and ASM sources. Reviewers: compnerd, rengolin, fjricci Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24156 llvm-svn: 282024
* [RS4GC] Refactor code for Rematerializing in presence of phi. NFCAnna Thomas2016-09-201-59/+68
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This is an NFC refactoring change as a precursor to the actual fix for rematerializing in presence of phi. https://reviews.llvm.org/D24399 Pasted from review: findRematerializableChainToBasePointer changed to return the root of the chain. instead of true or false. move the PHI matching logic into the caller by inspecting the root return value. This includes an assertion that the alternate root is in the liveset for the call. Tested with current RS4GC tests. Reviewers: reames, sanjoy Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24780 llvm-svn: 282023
* [CodeGen] stop short-circuiting the SSP code for sspstrong.George Burgess IV2016-09-201-5/+0
| | | | | | | | | | | | | | | | | | This check caused us to skip adding layout information for calls to alloca in sspreq/sspstrong mode. We check properly for sspstrong later on (and add the correct layout info when doing so), so removing this shouldn't hurt. No test is included, since testing this using lit seems to require checking for exact offsets in asm, which is something that the lit tests for this avoid. If someone cares deeply, I'm happy to write a unittest or something to cover this, but that feels like overkill. Patch by Daniel Micay. Differential Revision: https://reviews.llvm.org/D22714 llvm-svn: 282022
* Revert "Only restrict order if both sections are in the script."Rafael Espindola2016-09-204-23/+7
| | | | | | This reverts commit r282015. It broke some bots. llvm-svn: 282021
* [llvm-cov] Demangle names for hidden instantiation viewsVedant Kumar2016-09-202-6/+11
| | | | llvm-svn: 282020
* [asan] Add C++17 aligned new/delete entrypoints. Patch by Jakub Jelinek, see ↵Kostya Serebryany2016-09-201-10/+52
| | | | | | https://reviews.llvm.org/D24771 llvm-svn: 282019
* XFAIL cfi/stats.cpp on Windows until we fix LLDReid Kleckner2016-09-201-0/+3
| | | | llvm-svn: 282018
* [Profile] dump ic value profile value/site-count histogramXinliang David Li2016-09-202-1/+14
| | | | | | Differential Revision: http://reviews.google.com/D24783 llvm-svn: 282017
* Only restrict order if both sections are in the script.Rafael Espindola2016-09-204-7/+23
| | | | | | | | | | This matches gold and bfd behavior and is required to handle some scripts. The script has to assume where PT_LOADs start in order to align that spot. If we don't allow section it doesn't know about to move to the middle, we can need more PT_LOADs and those will not be aligned. llvm-svn: 282015
* Make test less dependent on the section order.Rafael Espindola2016-09-208-43/+41
| | | | | | | This means either relaxing CHECKs or listing more sections and addresses in linker scripts. llvm-svn: 282014
* [PECOFF] Use the COFF subsystem field when determining the Triple.Zachary Turner2016-09-202-1/+20
| | | | | | | Patch by walter erquinigo Differential revision: https://reviews.llvm.org/D24284 llvm-svn: 282013
* [asan] Fix GlobalAddressDescription::Print()Filipe Cabecinhas2016-09-202-1/+14
| | | | | | | | | | | | Summary: Check bug_type for nullptr before calling internal_strcmp Reviewers: kcc, vitalybuka, eugenis Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D24773 llvm-svn: 282012
OpenPOWER on IntegriCloud