summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AMDGPU/SI: Reserve appropriate number of sgprs for flat scratch init.Tom Stellard2015-12-172-2/+42
| | | | | | | | | | | | Reviewers: tstellarAMD Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15583 Patch by: Changpeng Fang llvm-svn: 255908
* [STATS] replace __cpuid() intrinsic with already existing __kmp_x86_cpuid() ↵Jonathan Peyton2015-12-171-4/+5
| | | | | | function llvm-svn: 255907
* AMDGPU: Fix off-by-one in SIRegisterInfo::eliminateFrameIndexNicolai Haehnle2015-12-173-9/+10
| | | | | | | | | | | | | | | | | | | | | | Summary: The method insertNOPs expected the number of wait states to be passed as parameter, while eliminateFrameIndex passed the immediate argument for the S_NOP, leading to an off-by-one error. Rename the method to make the meaning of its parameter clearer. The number of 4 / 5 wait states (which is what the method has always _tried_ to do according to the comment) is correct according to the hardware docs. I stumbled upon this while trying to track down the cause of https://bugs.freedesktop.org/show_bug.cgi?id=93264. While clearly needed, this patch unfortunately does not fix that bug... Reviewers: arsenm, tstellarAMD Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15542 llvm-svn: 255906
* Revert r254592 (virtual dtor in SCEVPredicate).Andy Gibbs2015-12-173-13/+18
| | | | | | | | Clang has better diagnostics in this case. It is not necessary therefore to change the destructor to avoid what is effectively an invalid warning in gcc. Instead, better handle the warning flags given to the compiler. llvm-svn: 255905
* [RenderScript] Support all RS allocation types Ewan Crawford2015-12-171-18/+100
| | | | | | | | Currently we can just inspect the details of the most common allocation types. This patch allows us to support all the types defined by the RS runtime in its `RsDataType` enum. Including handlers, matrices and packed graphical data. llvm-svn: 255904
* Mark a couple ModuleLinker member functions as const (NFC)Teresa Johnson2015-12-171-2/+2
| | | | llvm-svn: 255903
* Avoid explicit relocation sorting most of the time.Rafael Espindola2015-12-178-45/+32
| | | | | | | | | | These days relocations are created and stored in a deterministic way. The order they are created is also suitable for the .o file, so we don't need an explicit sort. The last remaining exception is MIPS. llvm-svn: 255902
* [STATS] Fix stats lock problem to be compatible with new hinted lock codeJonathan Peyton2015-12-172-1/+4
| | | | llvm-svn: 255901
* [STATS] Add libm.so to lib dependencies for stats libraryJonathan Peyton2015-12-171-0/+1
| | | | llvm-svn: 255900
* Revert "[AArch64] Enable PostRAScheduler for AArch64 generic build"Rafael Espindola2015-12-171-2/+1
| | | | | | This reverts commit r255896. It broke the tests. llvm-svn: 255899
* Always sort by offset first. NFC.Rafael Espindola2015-12-174-22/+16
| | | | | | | Every target changing sortRelocs was first calling the parent implementation. Just run that first. llvm-svn: 255898
* Fix unused variable warning in release builds. NFC.Diego Novillo2015-12-171-3/+1
| | | | llvm-svn: 255897
* [AArch64] Enable PostRAScheduler for AArch64 generic buildMinSeong Kim2015-12-171-1/+2
| | | | | | | | | | | This patch enables PostRAScheduler specifically for AArch64 generic build, which is beneficial from the performance perspective. Speedups up to 2 to 7% for some benchmarks on A57 and A53 are observed. Also benchmarks from LLVM test-suite did not regress. Differential Revision: http://reviews.llvm.org/D15557 llvm-svn: 255896
* [AArch64] Add DAG combine for extract extend patternMatthew Simpson2015-12-172-10/+27
| | | | | | | | | | This patch adds a DAG combine for (any_extend (extract_vector_elt v, i)) -> (extract_vector_elt v, i). The combine enables us to better match some SMOV patterns. Differential Revision: http://reviews.llvm.org/D15515 llvm-svn: 255895
* Simplify. NFC.Rafael Espindola2015-12-171-6/+3
| | | | llvm-svn: 255894
* Patch cmake to allow detection of python 2.7.9+Aidan Dodds2015-12-171-2/+2
| | | | | | | | | | Some distributions of python have their version defined as follows in patchlevel.h (note the '+'): #define PY_VERSION "2.7.9+" The '+' char needs to be stripped by the cmake regex so that LLDBs python lib detection is successful. Differential Revision: http://reviews.llvm.org/D15566 llvm-svn: 255893
* Fix formattingTobias Grosser2015-12-171-4/+3
| | | | llvm-svn: 255892
* ScopGraphPrinter: Only show functions that contain at least one scopTobias Grosser2015-12-171-5/+11
| | | | | | | | | | | | | | When running 'clang -O3 -mllvm -polly -mllvm -polly-show' we now only show the CFGs of functions with at least one detected scop. For larger files/projects this reduces the number of graphs printed significantly and is likely what developers want to see. The new option -polly-view-all enforces all graphs to be printed and the exiting option -poll-view-only limites the graph printing to functions that match a certain pattern. This patch requires https://llvm.org/svn/llvm-project/llvm/trunk@255889 (and vice versa) to compile correctly. llvm-svn: 255891
* [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
OpenPOWER on IntegriCloud