summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Return StringRef instead of a naked char*; NFCSanjoy Das2016-03-091-2/+2
| | | | llvm-svn: 262989
* [IRCE] Reflow comments; NFCSanjoy Das2016-03-091-4/+2
| | | | llvm-svn: 262988
* Fix library dependency for llvm-lto after r262977Mehdi Amini2016-03-092-1/+2
| | | | | | | | It is a transitive dependency, so static build are OK but not build with individual DSO for each LLVM library. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 262987
* Last round of preliminary cleanup in my refactoring of aliases.Enrico Granata2016-03-094-107/+124
| | | | | | | | | | | | | | The next step is to actually turn CommandAlias into a full-blown CommandObject citizen. This is tricky given the current architecture of the CommandInterpreter but I think I have found a reasonable path forward. The current plan is to make class CommandAlias : public CommandObject, and have all the several GetCommand calls not actually traverse through the alias to the underlying command object The only times that an alias will be traversed are: a) execution; when time comes to run an alias, I will just grab the underlying command and options, and make the interpreter execute that according to its current algorithm b) subcommand traversal; if one has an alias to a multiword command, grabbing a subcommand will see through to the subcommand Other operations, e.g. command listing, command names, command helps, ..., will all use the alias directly. This will, in turn, lead to the removal of the separate alias dictionary, and just mix user commands and aliases in one map llvm-svn: 262986
* [index] libclang: Make sure to treat forward ObjC protocols as ↵Argyrios Kyrtzidis2016-03-093-4/+17
| | | | | | | | ObjCProtocolRef declarations, and fix related crash. rdar://25035376 llvm-svn: 262985
* [index] Fix assertion hit when indexing re-declarations of built-in functions.Argyrios Kyrtzidis2016-03-092-0/+6
| | | | llvm-svn: 262984
* Avoid unnecessary qualification.Sean Silva2016-03-091-1/+1
| | | | | | Thanks to Rui for spotting this. llvm-svn: 262983
* [WebAssembly] Implement irreducible control flow.Dan Gohman2016-03-096-35/+385
| | | | | | | | This implements a very simple conservative transformation that doesn't require more than linear code size growth. There's room for much more optimization in this space. llvm-svn: 262982
* Fix GOLD plugin build after r262976Mehdi Amini2016-03-091-1/+1
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 262981
* Remove trailing newline from test case; NFCSanjoy Das2016-03-091-1/+0
| | | | llvm-svn: 262980
* [SCEV] Slightly generalize getRangeViaFactoringSanjoy Das2016-03-092-13/+76
| | | | | | | | | Building on the previous change, this generalizes ScalarEvolution::getRangeViaFactoring to work with {Ext(C?A:B)+k0,+,Ext(C?A:B)+k1} where Ext can be a zero extend, sign extend or truncate operation, and k0 and k1 are constants. llvm-svn: 262979
* [SCEV] Slightly generalize getRangeViaFactoringSanjoy Das2016-03-092-25/+104
| | | | | | | | This change generalizes ScalarEvolution::getRangeViaFactoring to work with {Ext(C?A:B),+,Ext(C?A:B)} where Ext can be a zero extend, sign extend or truncate operation. llvm-svn: 262978
* libLTO: add a ThinLTOCodeGenerator on the model of LTOCodeGenerator.Mehdi Amini2016-03-0913-3/+1444
| | | | | | | | | | | | | | | | | This is intended to provide a parallel (threaded) ThinLTO scheme for linker plugin use through the libLTO C API. The intent of this patch is to provide a first implementation as a proof-of-concept and allows linker to start supporting ThinLTO by definiing the libLTO C API. Some part of the libLTO API are left unimplemented yet. Following patches will add support for these. The current implementation can link all clang/llvm binaries. Differential Revision: http://reviews.llvm.org/D17066 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 262977
* FunctionIndex is not optional for renameModuleForThinLTO(), make it a ↵Mehdi Amini2016-03-094-8/+8
| | | | | | | reference (NFC) From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 262976
* [lto] Record whether a variable is TLS.Sean Silva2016-03-093-0/+15
| | | | | | | | | | | | Summary: Reviewers: rafael Subscribers: Bigcheese, llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D17974 llvm-svn: 262975
* Assume GV is not null for now.Rafael Espindola2016-03-091-8/+6
| | | | | | It will come back when we add support for inline asm in .bc files. llvm-svn: 262972
* Readd testcase accidentally removed in r262888.Richard Smith2016-03-091-0/+2
| | | | llvm-svn: 262971
* [TestRegisterVariables] Adjust compiler range in expected failure decorator.Siva Chandra2016-03-091-2/+2
| | | | | | | | Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17972 llvm-svn: 262970
* [Modules] Modernize, use range-based loops.Davide Italiano2016-03-081-5/+2
| | | | llvm-svn: 262969
* [lto] Don't add variables with private linkage to the symbol table.Sean Silva2016-03-082-1/+12
| | | | | | | | | | | | | | | Summary: This causes the issue in PR26872 to go away now that we aren't creating symbols for the string literals, but that may just be concealing a deeper problem, so best to keep that PR open. Reviewers: rafael Subscribers: Bigcheese, llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D17971 llvm-svn: 262968
* Fix crash in access check for aggregate initialization of base classes. It'sRichard Smith2016-03-082-3/+71
| | | | | | | not obvious how to access-check these, so pick a conservative rule until we get feedback from CWG. llvm-svn: 262966
* Fix -Werror build.Richard Smith2016-03-081-1/+1
| | | | llvm-svn: 262965
* AArch64: remove tests of intrinsics completely duplicated elsewhere.Tim Northover2016-03-0817-2507/+0
| | | | llvm-svn: 262964
* P0017R1: In C++1z, an aggregate class can have (public non-virtual) base ↵Richard Smith2016-03-0812-130/+479
| | | | | | classes; these are initialized as if they were data members. llvm-svn: 262963
* [llvm-pdbdump] Dump line table information.Zachary Turner2016-03-084-12/+92
| | | | | | | This patch adds the -lines command line option which will dump source/line information for each compiland and source file. llvm-svn: 262962
* fix typo; NFCSanjay Patel2016-03-081-2/+2
| | | | llvm-svn: 262961
* Silence duplicate diagnostics because parsing of a standards-based attribute ↵Aaron Ballman2016-03-083-1/+10
| | | | | | triggers parsing diagnostics that may also be picked up during semantic analysis. llvm-svn: 262960
* Add CommandAlias.cpp to CMakeListsEnrico Granata2016-03-081-0/+1
| | | | llvm-svn: 262959
* Move CommandAlias to its own file; alsoEnrico Granata2016-03-087-75/+109
| | | | | | Store std::unique_ptr<CommandAlias> instead of instances llvm-svn: 262958
* Remove an unnecessary hack.Rafael Espindola2016-03-087-30/+31
| | | | | | | It doesn't look like anything is depending on using local dynamic tls relocations with preemptable symbols. llvm-svn: 262957
* use range-based for loop; NFCISanjay Patel2016-03-081-13/+12
| | | | llvm-svn: 262956
* Delete isTlsDynRel.Rafael Espindola2016-03-087-51/+26
| | | | | | | | | | | | It was a badly specified hack for when a tls relocation should be propagated to the dynamic relocation table. This replaces it with a not as bad hack of saying that a local dynamic tls relocation is never preempted. I will try to remove even that second hack in the next patch. llvm-svn: 262955
* Use defined hidden symbols for out of range tests.Rafael Espindola2016-03-084-3/+14
| | | | | | | | When the symbol can be preempted the error is not entirely accurate. This just makes upcoming patches more readable. llvm-svn: 262954
* fix variable name; NFCSanjay Patel2016-03-081-3/+3
| | | | llvm-svn: 262953
* use range-based loop; NFCISanjay Patel2016-03-081-3/+2
| | | | llvm-svn: 262952
* Add self to CODE_OWNERSHans Wennborg2016-03-081-0/+4
| | | | | | Apparently this makes my email address easier to find. llvm-svn: 262951
* Made self.expect() errors a little more readable in the testsuite.Sean Callanan2016-03-081-7/+8
| | | | | | | | | | | | | | | | | self.expect() had two problems: - If there was a substrs argument, then it overwrote the variable containing the command to run with the last substr. That meant nonsense command text in testsuite errors. - The actual output is not printed, which makes fixing testsuite failures a bit annoying (you end up having to use the -tv arguments to dotest). This fixes both of these issues. We could do even better, pretty-printing the criteria for "correct" output, but this at least makes dealing with errors a bit better. llvm-svn: 262950
* cmake: include what you useSaleem Abdulrasool2016-03-081-0/+2
| | | | | | | | Add a missing include. This is important in the case HandleLLVMOptions is included prior to the missing CheckCXXSourceCompiles or CheckCXXCompilerFlag which includes CheckCXXSourceCompiles. llvm-svn: 262949
* [CMake] Refactor add_llvm_implicit_projects to be reusableChris Bieneman2016-03-081-3/+7
| | | | | | This adds llvm_add_implicit_projects which takes a project name and is wrapped by add_llvm_implicit_projects. llvm-svn: 262948
* Support floating point values in 128-bit SSE vector registersAdrian Prantl2016-03-085-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | | The System-V x86_64 ABI requires floating point values to be passed in 128-but SSE vector registers (xmm0, ...). When printing such a variable this currently yields an <invalid load address>. This patch makes LLDB's DWARF expression evaluator accept 128-bit registers as scalars. It also relaxes the check that the size of the result of the DWARF expression be equal to the size of the variable to a greater-than. DWARF defers to the ABI how smaller values are being placed in a larger register. Implementation note: I found the code in Value::SetContext() that changes the m_value_type after the fact to be questionable. I added a sanity check that the Value's memory buffer has indeed been written to (this is necessary, because we may have a scalar value in a vector register), but really I feel like this is the wrong place to be setting it. Reviewed by Greg Clayton. http://reviews.llvm.org/D17897 rdar://problem/24944340 llvm-svn: 262947
* [AArch64] Disable the MI scheduler to turn bots green after r262942.Chad Rosier2016-03-081-4/+4
| | | | llvm-svn: 262944
* Revert r262759 and r262760.Quentin Colombet2016-03-082-39/+0
| | | | | | | | The fix consisting in using the library call for atomic compare and swap when the instruction is not safe to use may be incorrect. Indeed the library call may not exist on all platform. In other words, we need a better fix! llvm-svn: 262943
* [AArch64] Add MMOs to unscaled pairs.Chad Rosier2016-03-081-3/+2
| | | | | | | Test to be committed in follow up commit, per discussion in D17097. http://reviews.llvm.org/D17097 llvm-svn: 262942
* Revert "ELF: Add /lib and /usr/lib as default search paths."Rafael Espindola2016-03-086-35/+4
| | | | | | | | | | | | | | | It was causing errors like /lib/libc.so.6 is incompatible with elf_x86_64 when linking on Fedora. Every system has different default paths. It seems better to just trust the driver to pass the correct -L options. This reverts commit 262910. llvm-svn: 262941
* rangify, fix function names; NFCISanjay Patel2016-03-081-27/+22
| | | | llvm-svn: 262940
* Invoke DAG postprocessing in the post-RA schedulerKrzysztof Parzyszek2016-03-081-0/+2
| | | | | | | This was inadvertently omitted from r262774, which added the mutation interface. llvm-svn: 262939
* Turning on the /bigobj flag for two more files that will not link with MSVC ↵Aaron Ballman2016-03-082-0/+12
| | | | | | 2015 Win64 Debug due to the section limit. llvm-svn: 262938
* don't repeat function names in documentation comments; NFCSanjay Patel2016-03-081-4/+4
| | | | llvm-svn: 262937
* [ARM] Simplify ARMInstr*.td by getting rid of identity PatFrags (NFC)Artyom Skrobov2016-03-083-107/+74
| | | | | | | | | | Reviewers: t.p.northover, grosbach, resistor Subscribers: aemerson, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D17636 llvm-svn: 262936
* Revert r262599 "[X86][SSE] Improve vector ZERO_EXTEND by combining to ↵Hans Wennborg2016-03-084-60/+43
| | | | | | | | ZERO_EXTEND_VECTOR_INREG" This caused PR26870. llvm-svn: 262935
OpenPOWER on IntegriCloud