summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* test/CodeGen/builtins.c: reinstate #ifdef __x86_64__ around __builtin_longjmpMehdi Amini2016-10-241-0/+5
| | | | | | Unadvertently removed in r285019 llvm-svn: 285041
* [WebAssembly] Implement more WebAssembly binary encoding.Dan Gohman2016-10-2416-131/+126
| | | | | | | | | | | | This changes locals from being declared by the emitLocal hook in WebAssemblyTargetStreamer, rather than with an instruction. After exploring the infastructure in LLVM more, this seems to make more sense since declaring locals doesn't use an encoded opcode. This also adds more 0xd opcodes, type encodings, and miscellaneous binary encoding bits. llvm-svn: 285040
* CodeGen/Passes: Pass MachineFunction as functor arg; NFCMatthias Braun2016-10-244-16/+18
| | | | | | | | Passing a MachineFunction as argument is more natural and avoids an unnecessary round-trip through the logic determining the correct Subtarget because MachineFunction already has a reference anyway. llvm-svn: 285039
* [Basic] Support 32-bit x86 and ARM targets for FuchsiaPetr Hosek2016-10-241-4/+12
| | | | | | | | | Fuchsia has experimental support for 32-bit x86 and ARM targets, add them to the list of supported targets. Differential Revision: https://reviews.llvm.org/D25838 llvm-svn: 285038
* Link clangCodeGen with clangAnalysis required after r284990.Artem Belevich2016-10-241-0/+1
| | | | | | Fixes build break for configurations that use shared libraries. llvm-svn: 285037
* [InstCombine] regenerate some checksSanjay Patel2016-10-241-75/+86
| | | | llvm-svn: 285036
* cmake: Rename installhdrs to install-llvm-headers and fix the dependenciesJustin Bogner2016-10-241-2/+6
| | | | | | | | | | The installhdrs target was inconsistently named and would behave differently depending on whether or not you ran a build first. This renames it to install-llvm-headers to match other target names and adds a dependency on intrinsics_gen so that it will always install the same set of things. llvm-svn: 285035
* Fix regression from my recent GlobalsAA fix.Eli Friedman2016-10-242-1/+57
| | | | | | | | | | | | | There are two fixes here: one, AnalyzeUsesOfPointer can't return false until it has checked all the uses of the pointer. Two, if a global uses another global, we have to assume the address of the first global escapes. Fixes https://llvm.org/bugs/show_bug.cgi?id=30707 . Differential Revision: https://reviews.llvm.org/D25798 llvm-svn: 285034
* [SelectionDAG] Update ComputeNumSignBits SRA/SHL handlers to accept scalar ↵Simon Pilgrim2016-10-242-14/+9
| | | | | | | | | | or vector splats Use isConstOrConstSplat helper. Also use APInt instead of getZExtValue directly to avoid out of range issues. llvm-svn: 285033
* remove xfail from TestObjCNewSyntax.py test_expr_gmodules()Todd Fiala2016-10-241-4/+0
| | | | | | | Fixes: rdar://27792848 llvm-svn: 285032
* [Sema][ObjC] Warn about implicitly autoreleasing out-parameters capturedAkira Hatanaka2016-10-244-1/+36
| | | | | | | | | | | | | | by blocks. Add a new warning "-Wblock-capture-autoreleasing". The warning warns about implicitly autoreleasing out-parameters captured by blocks which can introduce use-after-free bugs that are hard to debug. rdar://problem/15377548 Differential Revision: https://reviews.llvm.org/D25844 llvm-svn: 285031
* cmake: Make /usr/share/cmake installable with LLVM_DISTRIBUTION_COMPONENTSJustin Bogner2016-10-241-2/+14
| | | | | | | Add a cmake-exports install component and appropriate targets for LLVM_DISTRIBUTION_COMPONENTS to work with. llvm-svn: 285030
* Use MachineInstr::mop_iterator instead of MIOperands; NFCMatthias Braun2016-10-246-36/+36
| | | | | | | | (Const)?MIOperands is equivalent to the C++ style MachineInstr::mop_iterator. Use the latter for consistency except for a few callers of MIOperands::analyzePhysReg(). llvm-svn: 285029
* CodeGen: remove incorrect temporary TwineSaleem Abdulrasool2016-10-241-2/+2
| | | | | | Twines should not be stack allocated. This somehow managed to get past me. llvm-svn: 285028
* Fix test on non-X86 platformsMehdi Amini2016-10-241-0/+5
| | | | | | | This is a fixup for r285019, adding an `#ifdef __x86_64__` since the os_log builtin is platform specific. llvm-svn: 285027
* nother additional error check for an invalid Mach-O fileKevin Enderby2016-10-246-14/+44
| | | | | | | when contained in a Mach-O universal file and the cputypes in both headers don’t match. llvm-svn: 285026
* Use SDValue::getConstantOperandVal() helper. NFCI.Simon Pilgrim2016-10-241-4/+2
| | | | llvm-svn: 285025
* [pbqp] unique_ptr-ify (Vector|Matrix)::Data, NFC.Vedant Kumar2016-10-241-50/+46
| | | | | | Suggested by David Blaikie. llvm-svn: 285024
* CodeGen: centralise label construction for method listsSaleem Abdulrasool2016-10-241-59/+107
| | | | | | | | | | | Move all the label construction for the various method list emission into EmitMethodList. Rather than have all the names be constructed in pieces in all of the callers of EmitMethodList, have this occur in one site. This also makes the calls much easier to understand as we simplify identify the type of the method list being emitted and the interface name for which it is being emitted. NFC. llvm-svn: 285023
* Fix bug where one of the cases where we mangle a <bare-unresolved-name> failedRichard Smith2016-10-242-25/+38
| | | | | | | | to emit the <template-args> portion. Refactor so that mangleUnresolvedName actually emits the entire <unresolved-name>, so this mistake is harder to make again. llvm-svn: 285022
* ELF: Simplify handling of *_start/*_end symbols.Peter Collingbourne2016-10-242-21/+3
| | | | | | | | | | | | | | We were previously using the (static) addSynthetic function to create *_start/*_end symbols. This function was doing almost the same thing as addOptionalSynthetic, except that it would also create the symbol in the case where it is unreferenced. Because the symbol has hidden visibility, creating it in that case would have no effect other than adding another entry to the static symbol table. Remove addSynthetic and change callers to use addOptionalSynthetic instead. Differential Revision: https://reviews.llvm.org/D25545 llvm-svn: 285021
* Fix non-portable tests for temp_directory_path(...)Eric Fiselier2016-10-241-8/+11
| | | | llvm-svn: 285020
* Add support for __builtin_os_log_format[_buffer_size]Mehdi Amini2016-10-2415-95/+995
| | | | | | | | | | | | | | | | | This reverts commit r285007 and reapply r284990, with a fix for the opencl test that I broke. Original commit message follows: These new builtins support a mechanism for logging OS events, using a printf-like format string to specify the layout of data in a buffer. The _buffer_size version of the builtin can be used to determine the size of the buffer to allocate to hold the data, and then __builtin_os_log_format can write data into that buffer. This implements format checking to report mismatches between the format string and the data arguments. Most of this code was written by Chris Willmore. Differential Revision: https://reviews.llvm.org/D25888 llvm-svn: 285019
* [pbqp] Delete some dead code, NFC.Vedant Kumar2016-10-244-262/+5
| | | | | | | | | | | | I took the opportunity to replace some copy|move constructors|assignment operators with default implementations. As a follow-up, I plan on threading unique_ptr<T []> through a few areas per David Blaikie's advice. Differential Revision: https://reviews.llvm.org/D24424 llvm-svn: 285018
* [WebAssembly] Fix a broken URL.Dan Gohman2016-10-241-1/+1
| | | | llvm-svn: 285017
* [WebAssembly] Define the `end` opcode value.Dan Gohman2016-10-241-2/+4
| | | | | | | CFGStackify differentiates between END_LOOP and END_BLOCK, but wasm itself doesn't. For now, just use the same opcode for both. llvm-svn: 285016
* Fix mangling of implicit calls to operator-> to only include a single "pt",Richard Smith2016-10-242-1/+11
| | | | | | rather than including an extra one for each level of 'operator->()' invoked. llvm-svn: 285015
* [WebAssembly] Update opcode values according to recent spec changes.Dan Gohman2016-10-246-112/+112
| | | | | | This corresponds to the "0xd" opcode renumbering. llvm-svn: 285014
* scripts: Document existing problems with the symbolizer build script.Peter Collingbourne2016-10-241-0/+6
| | | | | | | | | | Reviewers: eugenis, vitalybuka Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D25846 llvm-svn: 285013
* Add missing include in string_view tests. Patch from Billy ONeil @ microsoftEric Fiselier2016-10-241-0/+1
| | | | llvm-svn: 285012
* Fix shadow warnings in string_view tests. Patch from STL@microsoft.comEric Fiselier2016-10-242-22/+20
| | | | llvm-svn: 285011
* [compiler-rt] moved __asan_schedule_unregister_globals out of anonymous ↵Bob Haarman2016-10-241-2/+1
| | | | | | | | | | | | | | namespace Summary: Newer versions of clang complain that __asan_schedule_unregister_globals is unused. Moving it outside the anonymous namespace gets rid of that warning. Reviewers: rnk, timurrrr Subscribers: kubabrecka, dberris Differential Revision: https://reviews.llvm.org/D25921 llvm-svn: 285010
* [WebAssembly] Add an option to make get_local/set_local explicit.Dan Gohman2016-10-2422-177/+632
| | | | | | | | | | This patch adds a pass, controlled by an option and off by default for now, for making implicit get_local/set_local explicit. This simplifies emitting wasm with MC. Differential Revision: https://reviews.llvm.org/D25836 llvm-svn: 285009
* Merge two if conditions into one. NFCI.Davide Italiano2016-10-241-3/+2
| | | | llvm-svn: 285008
* Revert "Add support for __builtin_os_log_format[_buffer_size]"Mehdi Amini2016-10-2415-994/+95
| | | | | | This reverts commit r284990, two opencl test are broken llvm-svn: 285007
* Target: Change various section classifiers in TargetLoweringObjectFile to ↵Peter Collingbourne2016-10-2425-183/+207
| | | | | | | | | | | | | | | | take a GlobalObject. These functions are about classifying a global which will actually be emitted, so it does not make sense for them to take a GlobalValue which may for example be an alias. Change the Mach-O object writer and the Hexagon, Lanai and MIPS backends to look through aliases before using TargetLoweringObjectFile interfaces. These are functional changes but all appear to be bug fixes. Differential Revision: https://reviews.llvm.org/D25917 llvm-svn: 285006
* [x86] add tests for {-1,0,1} select of constantsSanjay Patel2016-10-241-0/+93
| | | | llvm-svn: 285005
* [asan] relax strstr tests.Tim Northover2016-10-242-2/+2
| | | | | | | | Darwin's implementation of strstr seems to trigger slightly different failure modes from Linux since it calls strncmp. All messages seem about equally useful and correct, so I relaxed the tests so Darwin can pass. llvm-svn: 285004
* [llvm] Remove redundant --check-prefix=CHECK from testsMandeep Singh Grang2016-10-2416-16/+16
| | | | | | | | Reviewers: MatzeB, mcrosier, rengolin Differential Revision: https://reviews.llvm.org/D25894 llvm-svn: 285003
* CodeGen: Do not add a global's address space to the folding set profile.Peter Collingbourne2016-10-241-2/+0
| | | | | | | It is already part of the type (which is part of the global, which is already being added), so there's no need to do it. llvm-svn: 285002
* [clang] Remove redundant --check-prefix=CHECK from testsMandeep Singh Grang2016-10-242-2/+2
| | | | | | | | | | | | Reviewers: mkuper, rengolin, hans Subscribers: cfe-commits Tags: #clang-c Differential Revision: https://reviews.llvm.org/D25893 llvm-svn: 285001
* [analyzer] Use unsigned integers to rely on well-defined overflow semantics.Artem Dergachev2016-10-241-5/+5
| | | | | | Found by the UBSan buildbot. llvm-svn: 285000
* Fix crash if StmtProfile finds a type-dependent member access for which we haveRichard Smith2016-10-242-0/+15
| | | | | | | | | | | resolved the -> to a call to a specific operator-> function. The particular test case added here is actually being mishandled: the implicit member access should not be type-dependent (because it's accessing a non-type-dependent member of the current instantiation), but calls to a type-dependent operator-> that is a member of the current instantiation would be liable to hit the same codepath. llvm-svn: 284999
* add-discriminators: Fix handling of lexical scopes.Adrian Prantl2016-10-243-13/+105
| | | | | | | | | | | | | | | This fixes a bug in the handling of lexical scopes, when more than one scope is defined on the same line or functions are inlined into call sites that are on the same line as the function definition. This situation can easily happen in macro expansions. The problem is solved by introducing a SmallDenseMap<DIScope *, DILexicalBlockFile *, 1> that keeps track of all the different lexical scopes that share a line/file location. Fixes PR30681. llvm-svn: 284998
* Clarify that MSVC is not the issue here anymore.Benjamin Kramer2016-10-241-2/+4
| | | | llvm-svn: 284997
* Revert r284972 and remove other defaulted copy/move constructors/=Krzysztof Parzyszek2016-10-241-8/+0
| | | | | | | David Blaikie pointed out that we get them for free without having to write anything. llvm-svn: 284996
* [PPC] Generate positive FP zero using xor insn instead of loading from ↵Ehsan Amiri2016-10-249-10/+124
| | | | | | | | | | | constant area https://reviews.llvm.org/D23614 Currently we load +0.0 from constant area. That can change to be generated using XOR instruction. llvm-svn: 284995
* ReleaseNotes: mention new compiler requirementsHans Wennborg2016-10-241-0/+2
| | | | llvm-svn: 284994
* Revert r284580+r284917. ("Synthesize TBB/TBH instructions")Eli Friedman2016-10-249-307/+37
| | | | | | | The optimization has correctness issues, so reverting for now to fix tests on thumb1 targets. llvm-svn: 284993
* [clang-tidy] Fix identifier naming in macro args.Jason Henline2016-10-242-11/+68
| | | | | | | | | | | | | | | | | | | | | | Summary: clang-tidy should fix identifier naming even when the identifier is referenced inside a macro expansion, provided that the identifier enters the macro expansion completely within a macro argument. For example, this will allow fixes to the naming of the identifier 'global' when it is declared and used as follows: int global; #define USE_IN_MACRO(m) auto use_##m = m USE_IN_MACRO(global); Reviewers: alexfh Subscribers: jlebar, cfe-commits Differential Revision: https://reviews.llvm.org/D25450 llvm-svn: 284992
OpenPOWER on IntegriCloud