summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86] Introduction of FeatureX87.Andrey Turetskiy2016-03-235-69/+155
| | | | | | | | Add FeatureX87 in X86 backend to be able to define CPUs which doesn't have x87. Differential Revision: http://reviews.llvm.org/D13979 llvm-svn: 264148
* [mips][microMIPS] Delay slot filler modificationsHrvoje Varga2016-03-232-0/+10
| | | | | | Differential Revision: http://reviews.llvm.org/D18181 llvm-svn: 264147
* Add check for unneeded copies of localsHaojian Wu2016-03-234-55/+232
| | | | | | | | | | | | | | Summary: Extends the UnnecessaryCopyInitialization to detect copies of local variables and parameters that are unneeded. Patch by Matt Kulukundis! Reviewers: alexfh, hokein Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18149 llvm-svn: 264146
* [ELF][MIPS] Add comment with MIPS GOT relocations handling description. NFC.Simon Atanasyan2016-03-231-4/+28
| | | | llvm-svn: 264145
* www: Drop one more </div>Tobias Grosser2016-03-231-2/+0
| | | | llvm-svn: 264144
* www: Drop polyhedral news reference.Tobias Grosser2016-03-231-20/+0
| | | | | | | The feed2html service used has been unavailable a couple of times and always causes the polly website to fail to load correctly. llvm-svn: 264143
* Codegen:Do not invalidate dominator tree when bailing out during code generationTobias Grosser2016-03-232-7/+29
| | | | | | | | | When codegenerating invariant loads in some rare cases we cannot generate code and bail out. This change ensures that we maintain a valid dominator tree in these situations. This fixes llvm.org/PR26736 Contributed-by: Matthias Reisinger <d412vv1n@gmail.com> llvm-svn: 264142
* FAQ: Remove the entire Build Problems sectionJustin Bogner2016-03-231-125/+0
| | | | | | | | This is all horribly outdated, and is mostly about the autoconf build system that doesn't even exist anymore. These questions aren't frequent, and these answers aren't useful. llvm-svn: 264141
* Add option to disallow modref function calls in scops.Tobias Grosser2016-03-239-45/+71
| | | | | | | | | | This might be useful to evaluate the benefit of us handling modref funciton calls. Also, a new bug that was triggered by modref function calls was recently reported http://llvm.org/PR27035. To ensure the same issue does not cause troubles for other people, we temporarily disable this until the bug is resolved. llvm-svn: 264140
* FAQ: We require GCC 4.7 - nobody's asking about build failures with 3.3.2Justin Bogner2016-03-231-6/+0
| | | | llvm-svn: 264139
* [docs] Fix typo in ProgrammersManual.rstVedant Kumar2016-03-231-1/+1
| | | | | | Patch by Miod Vallat! llvm-svn: 264138
* [AMDGPU] Fix missing assembler predicates.Valery Pykhtin2016-03-234-3/+334
| | | | | | Differential Revision: http://reviews.llvm.org/D18351 llvm-svn: 264137
* [Tests] Remove the correct files.Davide Italiano2016-03-231-1/+1
| | | | llvm-svn: 264136
* [Docs] Clarify boolean conversion for Error and Expected<T> in the Programmer'sLang Hames2016-03-231-4/+16
| | | | | | Manual. llvm-svn: 264135
* [LTO] Remove dead code.Davide Italiano2016-03-231-2/+0
| | | | llvm-svn: 264133
* [Sema] Allow implicit conversions of &overloaded_fn in C.George Burgess IV2016-03-235-14/+99
| | | | | | | | | | | | | | | | | | | | | | | Also includes a minor ``enable_if`` docs update. Currently, our address-of overload machinery will only allow implicit conversions of overloaded functions to void* in C. For example: ``` void f(int) __attribute__((overloadable)); void f(double) __attribute__((overloadable, enable_if(0, ""))); void *fp = f; // OK. This is C and the target is void*. void (*fp2)(void) = f; // Error. This is C, but the target isn't void*. ``` This patch makes the assignment of `fp2` select the `f(int)` overload, rather than emitting an error (N.B. you'll still get a warning about the `fp2` assignment if you use -Wincompatible-pointer-types). Differential Revision: http://reviews.llvm.org/D13704 llvm-svn: 264132
* Remove stale commentSanjoy Das2016-03-231-2/+1
| | | | llvm-svn: 264131
* [StatepointLowering] Don't do two DenseMap lookups; nfciSanjoy Das2016-03-231-2/+3
| | | | llvm-svn: 264130
* [StatepointLowering] Minor NFC cleanupsSanjoy Das2016-03-231-11/+12
| | | | | | | | | - Use auto - Name variables in LLVM style - Use llvm::find instead of std::find - Blank lines between declarations llvm-svn: 264129
* [StatepointLowering] Minor nfc refactoringSanjoy Das2016-03-231-29/+6
| | | | | | | | | | Now that StatepointLoweringInfo represents base pointers, derived pointers and gc relocates as SmallVectors and not ArrayRefs, we no longer need to allocate "backing storage" on stack in LowerStatepoint. So elide the backing storage, and inline the trivial body of getIncomingStatepointGCValues. llvm-svn: 264128
* [StatepointLowering] Schedule gc relocates before uniqueing themSanjoy Das2016-03-233-9/+33
| | | | | | Otherwise we can see an "unexpected" gc.relocate that we uniqued away. llvm-svn: 264127
* AMDGPU: Cache information about register pressure setsTom Stellard2016-03-232-24/+37
| | | | | | | | | | We can statically decide whether or not a register pressure set is for SGPRs or VGPRs, so we don't need to re-compute this information in SIRegisterInfo::getRegPressureSetLimit(). Differential Revision: http://reviews.llvm.org/D14805 llvm-svn: 264126
* [Apple Clang] Expose llvm-config from stage2 builds in stage1Chris Bieneman2016-03-231-0/+1
| | | | | | This exposes the stage2-llvm-config target though the stage1 build configuration. llvm-svn: 264125
* Minor code cleanup. NFC.Junmo Park2016-03-231-1/+1
| | | | llvm-svn: 264124
* Change 'apropos' such that it doesn't look into the "long help/syntax" ↵Enrico Granata2016-03-237-79/+82
| | | | | | | | | | strings for commands This solves issues such as 'apropos foo' returning valid matches just because syntax examples happen to use 'foo' as a placeholder token Fixes rdar://9043025 llvm-svn: 264123
* [ModuleUtils] Use range-based loop. NFC.Davide Italiano2016-03-231-2/+1
| | | | llvm-svn: 264122
* [docs] Use reST link.Sean Silva2016-03-231-1/+1
| | | | llvm-svn: 264121
* Bring back Makefile.sphinxSean Silva2016-03-231-0/+155
| | | | | | It is not part of autoconf and should not have been removed in r258861. llvm-svn: 264120
* [docs] Clarify the sense of --compile-commandSean Silva2016-03-231-1/+6
| | | | | | | | In retrospect, it seems "obvious" that the sense of the return code is the same as if it crashed on "interesting" inputs. But that didn't stop me from spending more time than I care to admit verifying this. llvm-svn: 264119
* [ScopInfo] Fix domains after loops.Michael Kruse2016-03-2211-66/+131
| | | | | | | | | | | | | | | | | ISL can conclude additional conditions on parameters from restrictions on loop variables. Such conditions persist when leaving the loop and the loop variable is projected out. This results in a narrower domain for exiting the loop than entering it and is logically impossible for non-infinite loops. We fix this by not adding a lower bound i>=0 when constructing BB domains, but defer it to when also the upper bound it computed, which was done redundantly even before this patch. This reduces the number of LNT fails with -polly-process-unprofitable -polly-position=before-vectorizer from 8 to 6. llvm-svn: 264118
* Tidy up this test a bit.Sean Silva2016-03-221-2/+3
| | | | llvm-svn: 264117
* Move empty atom check to target independent code. NFC.Pete Cooper2016-03-222-5/+5
| | | | | | | | | | Turns out that checking only x86 for empty atoms to fix UBSan then requires the same code in the other targets too. Better to just check this in the main run loop instead of in each target. Should be NFC, other than fixing UBSan failures. llvm-svn: 264116
* Avoid memcpy from nullptr. NFC.Pete Cooper2016-03-221-0/+5
| | | | | | | | | | This was caught by the UBSan bot. When the atom has no size, we would issue a memcpy with size0 and a nullptr for the source. Also, this code should never have references inside an empty atom so add an assert for that while we're here. llvm-svn: 264115
* Don't memcpy from a null source. Found by UBSanPete Cooper2016-03-221-0/+2
| | | | llvm-svn: 264114
* Reverted a change in r264074 that made lldb-mi use lldb_private APIs.Sean Callanan2016-03-221-1/+2
| | | | | | | | FileSystem::Fopen is a lldb_private API, but lldb-mi uses only the public API. Depending on lldb_private APIs makes Xcode builds fail. I reverted the portion of r264074 that added such a dependency. llvm-svn: 264113
* Test commit to verify repository access and fix a typo.Derek Bruening2016-03-221-1/+1
| | | | llvm-svn: 264112
* [LTO] Keep linkonce_odr symbols when appropriate.Davide Italiano2016-03-223-1/+36
| | | | | | | | | | | Ensure we keep the symbol we need to before it reaches the Writer (and hit an assertion), changing its linkage from linkonce_odr to weak. For a more detailed description of the problem, see PR19901 where a similar problem was fixed for the gold plugin. Thanks to Rafael for providing a testcase. llvm-svn: 264111
* TypoJoerg Sonnenberger2016-03-221-1/+1
| | | | llvm-svn: 264110
* MC: Don't access the filesystem in MCContext's constructorJustin Bogner2016-03-223-10/+8
| | | | | | | | | | | | | | MCContext shouldn't be accessing the filesystem - that's a gross layering violation and makes it awkward to use as a library or in a daemon where it may not even be allowed filesystem access. The CWD lookup here is normally redundant anyway, since the calling context either also looks up the CWD or sets this to something more specific. Here, we fix up the one caller that doesn't already set up a debug compilation dir and make it clear that the responsibility for such set up is in the users of MCContext. llvm-svn: 264109
* Make it so that a command alias can actually remove the help/long help from ↵Enrico Granata2016-03-226-48/+67
| | | | | | its parent command by setting itself to an empty help string llvm-svn: 264108
* [NVVM] Remove noduplicate attribute from synchronizing intrinsics.Justin Lebar2016-03-222-11/+7
| | | | | | | | | | | | | | | Summary: I've completed my audit of all the code that looks at noduplicate and added handling of convergent where appropriate, so we no longer need noduplicate on these intrinsics. Reviewers: jholewinski Subscribers: llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D18168 llvm-svn: 264107
* [CUDA] Don't allow templated variadic functions.Justin Lebar2016-03-222-22/+28
| | | | | | | | | | Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18373 llvm-svn: 264106
* Invalidate scop on encountering a complex control flowTobias Grosser2016-03-223-3/+547
| | | | | | | | | | | | We bail out if current scop has a complex control flow as this could lead to building of large domain conditions. This is to reduce compile time. This addresses r26382. Contributed-by: Chris Jenneisch <chrisj@codeaurora.org> Differential Revision: http://reviews.llvm.org/D18362 llvm-svn: 264105
* [lldb-mi] Uncomment a line in CMakeLists.txt to make linux build happy.Siva Chandra2016-03-221-1/+1
| | | | | | | | | | Reviewers: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D18377 llvm-svn: 264104
* Drop comdats from the dst module if they are not selected.Rafael Espindola2016-03-223-1/+110
| | | | | | | | | | | | | | | | | | | | | | | A really unfortunate design of llvm-link and related libraries is that they operate one module at a time. This means they can copy a GV to the destination module that should not be there in the final result because a later bitcode file takes precedence. We already handled cases like a strong GV replacing a weak for example. One case that is not currently handled is a comdat replacing another. This doesn't happen in ELF, but with COFF largest selection kind it is possible. In "llvm-link a.ll b.ll" if the selected comdat was from a.ll, everything will work and we will not copy the comdat from b.ll. But if we run "llvm-link b.ll a.ll", we fail to delete the already copied comdat from b.ll. This patch fixes that. llvm-svn: 264103
* Keep CodeGenPrepare from preserving the domtree.George Burgess IV2016-03-222-1/+43
| | | | | | | | | | CGP modifies the domtree in some cases, so saying that it preserves the domtree is a lie. We'll be able to selectively preserve it with the new pass manager. Differential Revision: http://reviews.llvm.org/D16893 llvm-svn: 264099
* Update cxx-features test to C++1zJF Bastien2016-03-221-34/+38
| | | | | | | Forked from the following patch: http://reviews.llvm.org/D17950 llvm-svn: 264098
* Fix operator= on OwningAtomPtr to call destructor when needed.Pete Cooper2016-03-221-0/+2
| | | | | | | | | | | | | If the LHS of 'a = b' already had an atom in it then we wouldn't call the destructor. This happens when we use something like std::remove_if which is done in the CompactUnwindPass. Should fix the leaks on the mach-o/unwind-info-simple-x86_64.yaml test case. Lang and I are going to take a look at removing OwningAtomPtr in favour of a std::unique_ptr but just trying to get the bots green so we have a good baseline first. llvm-svn: 264097
* Fix a bug caused by my alias refactoring where, if an alias was defined in ↵Enrico Granata2016-03-226-2/+116
| | | | | | terms of another alias, trying to run the nested command would actually cause a crash in the command interpreter llvm-svn: 264096
* Backend support for top-level Clang epxressionsSean Callanan2016-03-229-212/+375
| | | | | | | | | | | | | | | | | | This patch adds a new ExecutionPolicy, eExecutionPolicyTopLevel, which tells the expression parser that the expression should be JITted as top level code but nothing (except static initializers) should be run. I have modified the Clang expression parser to recognize this execution policy. On top of the existing patches that support storing IR and maintaining a map of arbitrary Decls, this is mainly just patching up a few places in the expression parser. I intend to submit a patch for review that exposes this functionality through the "expression" command and through the SB API. That patch also includes a testcase for all of this. <rdar://problem/22864976> llvm-svn: 264095
OpenPOWER on IntegriCloud