summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ms-inline-asm] Add support for composite structs in MS inline asmMarina Yatsina2015-12-172-27/+59
| | | | | | | | Add MS inline asm support for structs that contain fields that are also structs. Differential Revision: http://reviews.llvm.org/D15578 llvm-svn: 255890
* DOTGraphTraits: Allow the decision to show a graph to consider the analysisTobias Grosser2015-12-171-6/+14
| | | | | | | | | | The method processFunction() is called to decide if a graph should be shown for a certain function. To allow DOTGraphTraitViewers to take this decision based on the analysis results for the given function, we forward a reference to the analysis result. This will be used by Polly to only visualize functions where interesting loop regions have been detected. llvm-svn: 255889
* Removed empty directory.Alexander Kornienko2015-12-170-0/+0
| | | | llvm-svn: 255888
* Inspect DW_AT_const_value global static const variablesEwan Crawford2015-12-175-5/+12
| | | | | | | | | | | | This patch adds support for printing global static const variables which are given a DW_AT_const_value DWARF tag by clang. Fix for bug https://llvm.org/bugs/show_bug.cgi?id=25653 Reviewers: clayborg, tberghammer Subscribers: emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D15576 llvm-svn: 255887
* Remove clang-modernize.Alexander Kornienko2015-12-17148-14152/+6
| | | | | | | | | | | | | | Summary: clang-modernize transforms have moved to clang-tidy. Removing the old tool now. Reviewers: klimek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15606 llvm-svn: 255886
* XFAIL some tests failing for Windows -> AndroidTamas Berghammer2015-12-172-0/+2
| | | | llvm-svn: 255885
* [ELF] - implemented @indntpoff (x86) relocation and its optimization.George Rimar2015-12-177-31/+256
| | | | | | | | | | @indntpoff is similar to @gotntpoff, but for use in position dependent code. While @gotntpoff resolves to GOT slot address relative to the start of the GOT in the movl or addl instructions, @indntpoff resolves to the absolute GOT slot address. ("ELF Handling For Thread-Local Storage", Ulrich Drepper). Differential revision: http://reviews.llvm.org/D15494 llvm-svn: 255884
* [ELF] - implement support of extended length field for CIE/FDE records of ↵George Rimar2015-12-176-7/+71
| | | | | | | | | | | | eh_frame. Ian Lance Taylor writes: "Read 4 bytes. If they are not 0xffffffff, they are the length of the CIE or FDE record. Otherwise the next 64 bits holds the length, and this is a 64-bit DWARF format. This is like .debug_frame." (http://www.airs.com/blog/archives/460), that also consistent with spec (https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-PDA/LSB-PDA/ehframechpt.html). Patch implements support of described extended length field and also adds few more checks for safety. Differential revision: http://reviews.llvm.org/D15532 llvm-svn: 255883
* Add AccessModifierOffset to clang-format stylePavel Labath2015-12-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | Summary: As we override the indent option of the LLVM style, we need to override the access modifier offset as well. Otherwise, classes will be formatted like such class A { public: int foo; }; which is not used anywhere in LLDB. This option makes clang-format style more similar to LLDB and brings it closer to the original intention of LLVM style, which was to not indent access modifiers. Reviewers: zturner, tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15562 llvm-svn: 255882
* [X86] Add option for enabling LEA optimization pass, by Andrey TuretskyAlexey Bataev2015-12-172-2/+6
| | | | | | | Add option to enable/disable LEA optimization pass. By default the pass is disabled. Differential Revision: http://reviews.llvm.org/D15573 llvm-svn: 255881
* test infra: force rerun to use parallel runnerTodd Fiala2015-12-171-1/+5
| | | | | | | | | | | We've now seen the rerun test phase hang in a few scenarios. Eliminate the serial test runner (which is not exercised nearly as much as the others), by using a multi-worker test runner strategy with a single worker. This should rule out whether this is related to the serial test runner strategy. llvm-svn: 255880
* [OPENMP] Fix for http://llvm.org/PR25142: openmp: Assertion failed: DD && ↵Alexey Bataev2015-12-172-0/+24
| | | | | | | | "queried property of class with no definition", file AST/DeclCXX.h Added processing for template specialization during data-sharing attributes analysis llvm-svn: 255879
* [WebAssembly] Convert WebAssemblyTargetObjectFile to TargetLoweringObjectFileELFDan Gohman2015-12-174-42/+30
| | | | llvm-svn: 255877
* Add QualType case to operator< for DynTypedNode.Richard Trieu2015-12-171-0/+4
| | | | | | | This allows sorting DynTypedNode's which are QualType's since QualType does not have memoization. llvm-svn: 255875
* AArch64: Simplify emitEpilogue() and related code; NFCMatthias Braun2015-12-171-24/+25
| | | | | | This is in preparation to an upcoming patch. llvm-svn: 255872
* [llvm-objdump] Use report_fatal_error() for a more uniform error handling.Davide Italiano2015-12-171-29/+13
| | | | llvm-svn: 255871
* ELF: Avoid string concatenation if there's no error.Rui Ueyama2015-12-171-6/+8
| | | | llvm-svn: 255870
* [WebAssembly] Experimental ELF writer supportDan Gohman2015-12-179-17/+293
| | | | | | | | | This creates the initial infrastructure for writing ELF output files. It doesn't yet have any implementation for encoding instructions. Differential Revision: http://reviews.llvm.org/D15555 llvm-svn: 255869
* Set the minimum stack size for private state thread to 8MBKate Stone2015-12-171-1/+1
| | | | | | Demangling complex Boost symbols can exhaust the default stack size. In practice, any thread that calls into LLDB functionality that touches symbols runs this risk. Guaranteeing a reasonable minimum for our own private state thread addressees some known scenarios debugging processes that make use of cpp-netlib. llvm-svn: 255868
* Fix PR25838.Cong Hou2015-12-172-0/+40
| | | | | | | | | | This is a quick fix to PR25838. The issue comes from the restriction that we cannot normalize probabilities containing both known and unknown ones. A patch that removes this restriction is under the review now: http://reviews.llvm.org/D15548 llvm-svn: 255867
* ELF: Rename relocNeedsCopy -> needsCopyRelRui Ueyama2015-12-175-14/+12
| | | | | | Just "copy" was a bit too ambiguous to say about copy relocations. llvm-svn: 255866
* ELF: Separate NeedsCopy and OffsetInBSS.Rui Ueyama2015-12-173-8/+9
| | | | | | | | | | Previously, OffsetInBSS is -1 if it has no information about copy relocation, 0 if it needs a copy relocation, and >0 if its offset in BSS has been assigned. These flags were too subtle. This patch adds a new flag, NeedsCopy, to carry information about whether a shared symbol needs a copy relocation or not. llvm-svn: 255865
* Don't demangle a name when Mangled::GetName() is called with ePreferMangled. ↵Greg Clayton2015-12-171-6/+4
| | | | | | Only demangle if this isn't the the value for the "preference" argument indicating the user wants the demangled name. This will stop a lot of symbols from being demangled when parsing the symbol table in ObjectFileMachO. llvm-svn: 255864
* Don't strip types of their typedefs when getting function types.Greg Clayton2015-12-171-2/+2
| | | | llvm-svn: 255863
* [PGO] InstrPGO and coverage code refactoring (NFC)Xinliang David Li2015-12-172-46/+64
| | | | | | | | | | Introduce a new class InstrProfSymtab to abstract the PGO symbol table for prof and coverage reader. The symtab is is to lookup function's PGO name using function keys. The first user of the class is CoverageMapping Reader. More will follow. llvm-svn: 255862
* Add comment about DefinedSynthetic class.Rui Ueyama2015-12-171-0/+4
| | | | llvm-svn: 255861
* [TLS on Darwin] use CXX_FAST_TLS calling convention for access functions.Manman Ren2015-12-175-27/+43
| | | | | | | | Also set nounwind attribute. rdar://problem/9001553 llvm-svn: 255860
* [analyzer] Better detect when C++ object was constructed into existing region.Devin Coughlin2015-12-175-38/+177
| | | | | | | | | | | | | | | | | | | | | | | | | When the analyzer evaluates a CXXConstructExpr, it looks ahead in the CFG for the current block to detect what region the object should be constructed into. If the constructor was directly constructed into a local variable or field region then there is no need to explicitly bind the constructed value to the local or field when analyzing the DeclStmt or CXXCtorInitializer that called the constructor. Unfortunately, there were situations in which the CXXConstructExpr was constructed into a temporary region but when evaluating the corresponding DeclStmt or CXXCtorInitializer the analyzer assumed the object was constructed into the local or field. This led to spurious warnings about uninitialized values (PR25777). To avoid these false positives, this commit factors out the logic for determining when a CXXConstructExpr will be directly constructed into existing storage, adds the inverse logic to detect when the corresponding later bind can be safely skipped, and adds assertions to make sure these two checks are in sync. rdar://problem/21947725 llvm-svn: 255859
* WebAssembly: update expected torture test failuresJF Bastien2015-12-171-14/+0
| | | | | | We now have 240 expected failures. llvm-svn: 255858
* ELF: Remove accessors that don't hide anything.Rui Ueyama2015-12-172-14/+9
| | | | llvm-svn: 255857
* ELF: Rename IsTLS -> IsTls for consistency with other identifiers containing ↵Rui Ueyama2015-12-172-8/+8
| | | | | | 'TLS'. llvm-svn: 255856
* ELF: Rename isTLS -> isTls for consistency.Rui Ueyama2015-12-176-9/+9
| | | | llvm-svn: 255855
* ELF: Remove a dumb constructor.Rui Ueyama2015-12-172-2/+1
| | | | | | Symbol is a struct and can be initialized using an initializer. llvm-svn: 255854
* Typedef uintX_t at beginning of a function just like others.Rui Ueyama2015-12-161-4/+4
| | | | llvm-svn: 255853
* Use std::unique_ptr. NFC.Rafael Espindola2015-12-163-13/+12
| | | | llvm-svn: 255852
* Add CMake option LIBCXX_CONFIGURE_IDE to allow for other IDE's.Eric Fiselier2015-12-162-2/+8
| | | | | | CLion needs similar configuration changes as MSVC_IDE and XCODE. llvm-svn: 255851
* ELF: Move shouldUseRela to Writer.cpp.Rui Ueyama2015-12-163-8/+6
| | | | | | | The function was used only in Writer.cpp and did not depend on SymbolTable. There is no reason to have that function in SymbolTable.cpp. llvm-svn: 255850
* ELF: Make checkCompatibility a non-member function.Rui Ueyama2015-12-162-16/+15
| | | | | | Because the function does not use any member of SymbolTable class. llvm-svn: 255849
* [WebAssembly] Initial linking support.Dan Gohman2015-12-164-2/+60
| | | | | | | | | This begins minimal support for invoking 'ld' from clang for WebAssembly targets. Differential Revision: http://reviews.llvm.org/D15586 llvm-svn: 255848
* [WebAssembly] Fix legalization of shift operators on large integer types.Dan Gohman2015-12-162-0/+16
| | | | llvm-svn: 255847
* Simplify. NFC.Rui Ueyama2015-12-161-4/+1
| | | | llvm-svn: 255846
* ELF: Remove duplicate code.Rui Ueyama2015-12-162-36/+31
| | | | | | | We had duplicate code that were called before addMemberFile. This patch makes them to be called at beginning of addMemberFile. llvm-svn: 255845
* [WebAssembly] Implement eliminateCallFramePseudoDerek Schuff2015-12-168-37/+71
| | | | | | | | | | | | | | | | | | Summary: Implement eliminateCallFramePsuedo to handle ADJCALLSTACKUP/DOWN pseudo-instructions. Add a test calling a vararg function which causes non-0 adjustments. This revealed an issue with RegisterCoalescer wherein it eliminates a COPY from SP32 to a vreg but failes to update the live ranges of EXPR_STACK, causing a machineinstr verifier failure (so this test is commented out). Also add a dynamic alloca test, which causes a callseq_end dag node with a 0 (instead of undef) second argument to be generated. We currently fail to select that, so adjust the ADJCALLSTACKUP tablegen code to handle it. Differential Revision: http://reviews.llvm.org/D15587 llvm-svn: 255844
* Update for llvm api change.Rafael Espindola2015-12-161-2/+2
| | | | llvm-svn: 255843
* Change linkInModule to take a std::unique_ptr.Rafael Espindola2015-12-1615-66/+136
| | | | | | | Passing in a std::unique_ptr should help find errors when the module is used after being linked into another module. llvm-svn: 255842
* Fix funciton->function typo.Eric Christopher2015-12-163-3/+3
| | | | llvm-svn: 255841
* Fix funciton->function typo.Eric Christopher2015-12-163-4/+4
| | | | llvm-svn: 255840
* ELF: Remove SymbolTable::addELFFile.Rui Ueyama2015-12-162-30/+24
| | | | | | | | addELFFile was called only from addFile, and what it did was actually just adding a file to the symbol table. There seems to be no reason to separate the two. llvm-svn: 255839
* Update for llvm API change.Rafael Espindola2015-12-162-2/+0
| | | | llvm-svn: 255838
* Drop an unnecessary use of writev.Rafael Espindola2015-12-162-30/+2
| | | | | | | | | | | It looks like the code this patch deletes is based on a misunderstanding of what guarantees writev provides. In particular, writev with 1 iovec is not "more atomic" than a write. Testing on OS X shows that both write and writev from multiple processes can be intermixed. llvm-svn: 255837
OpenPOWER on IntegriCloud