summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Symbolizer]: Add -pretty-print optionHemant Kulkarni2015-11-116-13/+55
| | | | | | Differential Revision: http://reviews.llvm.org/D13671 llvm-svn: 252798
* [analyzer] Fix scan-build to handle missing output directories.Devin Coughlin2015-11-111-1/+3
| | | | | | | | | | | | | Cwd::abs_path has a somewhat tricky semantics: if it's operand directory does not exist, it'll return undefined (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=257568). This may cause scan-build to silently ignore output directory (specified with -o) and use /tmp instead of trying to create directory. This tiny patch fixes the problem. A patch by Yury Gribov! Differential Revision: http://reviews.llvm.org/D14535 llvm-svn: 252797
* Move the enum attributes defined in Attributes.h to a table-gen file.Akira Hatanaka2015-11-118-59/+250
| | | | | | | | | | | | | | This is a step towards consolidating some of the information regarding attributes in a single place. This patch moves the enum attributes in Attributes.h to the table-gen file. Additionally, it adds definitions of target independent string attributes that will be used in follow-up commits by the inliner to check attribute compatibility. rdar://problem/19836465 llvm-svn: 252796
* ScopInfo: Bailing out means assigning isl_set_empty to the AssumedContextTobias Grosser2015-11-112-82/+6
| | | | | | I got this the other way around in 252750. Thank you Johannes for noticing. llvm-svn: 252795
* ScopInfo: Do not try to model the memory accesses in an error blockTobias Grosser2015-11-112-0/+39
| | | | | | | | | | Error blocks may contain arbitrary instructions, among them some which we can not modeled correctly. As we do not generate ScopStmts for error blocks anyhow there is no point in trying to generate access functions for them. This fixes llvm.org/PR25494 llvm-svn: 252794
* [SemaDeclCXX] Use isTemplateParamScope() rather than accessing raw bits.Davide Italiano2015-11-111-2/+2
| | | | llvm-svn: 252793
* [NFC] Simplify codeJohannes Doerfert2015-11-111-3/+1
| | | | llvm-svn: 252792
* Add a libLTO diagnostic handler that supports lto_get_error_message APIYunzhong Gao2015-11-113-12/+14
| | | | | | | | | | | | | | This is a follow-up from the previous discussion on the thread: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151019/307763.html The LibLTO lto_get_error_message() API reads error messages from a std::string sLastErrorString. Instead of passing this string around as an argument, this patch creates a diagnostic handler and then sends this handler to the constructor of LTOCodeGenerator. Differential Revision: http://reviews.llvm.org/D14313 llvm-svn: 252791
* Add support for processing .eh_frame.Rafael Espindola2015-11-1114-46/+512
| | | | | | | | | | | | | This adds support for: * Uniquing CIEs * Dropping FDEs that point to dropped sections It drops 657 488 bytes from the .eh_frame of a Release+Asserts clang. The link time impact is smallish. Linking clang with a Release+Asserts lld goes from 0.488064805 seconds to 0.504763060 seconds (1.034 X slower). llvm-svn: 252790
* [DAGCombiner] Improve zextload optimization.Geoff Berry2015-11-112-23/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Don't fold (zext (and (load x), cst)) -> (and (zextload x), (zext cst)) if (and (load x) cst) will match as a zextload already and has additional users. For example, the following IR: %load = load i32, i32* %ptr, align 8 %load16 = and i32 %load, 65535 %load64 = zext i32 %load16 to i64 store i32 %load16, i32* %dst1, align 4 store i64 %load64, i64* %dst2, align 8 used to produce the following aarch64 code: ldr w8, [x0] and w9, w8, #0xffff and x8, x8, #0xffff str w9, [x1] str x8, [x2] but with this change produces the following aarch64 code: ldrh w8, [x0] str w8, [x1] str x8, [x2] Reviewers: resistor, mcrosier Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14340 llvm-svn: 252789
* Convert python-wrapper.swig to use PythonDataObjects.Zachary Turner2015-11-111-99/+43
| | | | | | | | | This only begins to port python-wrapper.swig over. Since this code can be pretty hairy, I plan to do this incrementally over a series of patches, each time removing or converting more code over to the PythonDataObjects code. llvm-svn: 252788
* Create `PythonTuple` and `PythonCallable` wrapper classes.Zachary Turner2015-11-113-17/+454
| | | | | | | | | | | | | | This adds PythonTuple and PythonCallable classes to PythonDataObjects. Additionally, unit tests are provided that exercise this functionality, including invoking manipulating and checking for validity of tuples, and invoking and checking for validity of callables using a variety of different syntaxes. The goal here is to eventually replace the code in python-wrapper.swig that directly uses the Python C API to deal with callables and name resolution with this code that can be more easily tested and debugged. llvm-svn: 252787
* dwarfdump: DWP type unit index dumping skeletonDavid Blaikie2015-11-114-5/+26
| | | | llvm-svn: 252786
* [Lit Test] Updated 26 Lit tests to be C++11 compatible.Charles Li2015-11-1126-51/+234
| | | | | | | Expected diagnostics have been expanded to vary by C++ dialect. RUN line has also been expanded to: default, C++98/03 and C++11. llvm-svn: 252785
* [Windows] Add exports for dll_host test broken by r252071 and r251071Reid Kleckner2015-11-111-0/+2
| | | | llvm-svn: 252784
* Refactoring and fix another instance of asan errorXinliang David Li2015-11-111-5/+10
| | | | llvm-svn: 252783
* Format my previous commitDavid Blaikie2015-11-114-15/+13
| | | | llvm-svn: 252782
* dwarfdump: First piece of support for DWP dumpingDavid Blaikie2015-11-119-1/+118
| | | | | | Just a tiny piece of index dumping - the header in this instance. llvm-svn: 252781
* ScopInfo: Remove unused return value [NFC]Tobias Grosser2015-11-112-6/+4
| | | | llvm-svn: 252780
* Test commit after password resetHemant Kulkarni2015-11-111-1/+1
| | | | llvm-svn: 252779
* [WinEH] Only generate UnwindHelp slot for MSVCXXJoseph Tremoulet2015-11-112-18/+18
| | | | | | | | | | | | Summary: Other personalities don't use this special frame slot. Reviewers: majnemer, andrew.w.kaylor, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14580 llvm-svn: 252778
* [TLS] move setting tls_guard in tls_init.Manman Ren2015-11-113-6/+6
| | | | | | | | We used to emit the store prior to branch in the entry block. To make it more efficient, this commit moves it to the init block. We still mark as initialized before initializing anything else. llvm-svn: 252777
* Support: Recognize Borland DWARF extensions.Dawn Perchik2015-11-113-0/+58
| | | | | | | | | | | This patch adds DWARF values for the Delphi language and Borland C++ language extensions. Reviewed by: dblaikie Subscribers: llvm-commits, majnemer Differential Revision: http://reviews.llvm.org/D14522 llvm-svn: 252776
* Add target preference for GatherAllAliases max depthMatt Arsenault2015-11-113-1/+12
| | | | llvm-svn: 252775
* Fix bug in suggested fix that truncated variable names to 1 character.Samuel Benzaquen2015-11-112-32/+63
| | | | | | | | | | | | | | Summary: Fix bug in suggested fix that truncated variable names to 1 character. Also, rework the suggested fix to try to remove unnecessary whitespace. Reviewers: alexfh, aaron.ballman Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13899 llvm-svn: 252773
* Hiding the scan-build and scan-view projects under the Misc folder in IDEs ↵Aaron Ballman2015-11-112-0/+2
| | | | | | instead of having them at the root view. llvm-svn: 252771
* Reverting r252760Colin LeMahieu2015-11-116-55/+13
| | | | llvm-svn: 252770
* clang-format lib/CodeGen/AsmPrinter/DwarfCompileUnit.cppDehao Chen2015-11-111-7/+8
| | | | llvm-svn: 252769
* Emit discriminator for inlined callsites.Dehao Chen2015-11-114-0/+56
| | | | | | | | | | | | Summary: Inlined callsites need to be emitted in debug info so that sample profile can be annotated to the correct inlined instance. Reviewers: dnovillo, dblaikie Subscribers: dblaikie, llvm-commits Differential Revision: http://reviews.llvm.org/D14511 llvm-svn: 252768
* Python 3 - Use six in our embedded Python glue code.Zachary Turner2015-11-112-1/+3
| | | | llvm-svn: 252767
* ScopInfo: Free set after compute out has been triggeredTobias Grosser2015-11-111-1/+3
| | | | | | | | | In certain cases isl will not free the return values of operations for which a computeout has been triggered. Hence, make sure we free it explicitly. No test, as I did not manage to reduce one yet. llvm-svn: 252766
* Add a `PythonModule` class, and a root-level method for resolving names.Zachary Turner2015-11-113-12/+196
| | | | llvm-svn: 252765
* Symlink the `six` module during swig generation.Zachary Turner2015-11-112-22/+44
| | | | llvm-svn: 252764
* SamplePGO - Fix PR 25482 - Do not rely on llvm.dbg.cu for discriminatorsDiego Novillo2015-11-117-7/+31
| | | | | | | | | | | | | | | The discriminators pass relied on the presence of llvm.dbg.cu to decide whether to add discriminators, but this fails in the case where debug info is only enabled partially when -fprofile-sample-use is active. The reason llvm.dbg.cu is not present in these cases is to prevent codegen from emitting debug info (as it is only used for the sample profile pass). This changes the discriminators pass to also emit discriminators even when debug info is not being emitted. llvm-svn: 252763
* llvm-config.cpp: Prune an obsolete \param. [-Wdocumentation]NAKAMURA Takumi2015-11-111-2/+0
| | | | llvm-svn: 252762
* [OMPT] Add ompt_event_task_switch event into OMPT/OpenMPJonathan Peyton2015-11-115-13/+37
| | | | | | | | | | | | The patch adds support for ompt_event_task_switch into LLVM/OpenMP. Note that the patch has also updated the signature of ompt_event_task_switch to ompt_task_pair_callback_t (rather than the previous ompt_task_switch_callback_t). Patch by Harald Servat Differential Revision: http://reviews.llvm.org/D14566 llvm-svn: 252761
* [Symbolizer]: Add -pretty-print optionHemant Kulkarni2015-11-116-13/+55
| | | | | | Differential Revision: http://reviews.llvm.org/D13671 llvm-svn: 252760
* Fix indentation. Thank to David Blaikie for noticing.Rafael Espindola2015-11-111-1/+1
| | | | llvm-svn: 252759
* ScopInfo: Bound compute time spent in boundary context constructionTobias Grosser2015-11-112-0/+318
| | | | | | | | | | | | | | For complex inputs our current approach of construction the boundary context may in rare cases become computationally so expensive that it is better to abort. This change adds a compute out check that bounds the compuations we spend on boundary context construction and bails out if this limit is reached. We can probably make our boundary construction algorithm more efficient, but this requires some more investigation and probably also some additional changes to isl. Until these have been added, we bound the compile time to ensure our buildbots are green. llvm-svn: 252758
* Canonicalize the type of .eh_frame.Rafael Espindola2015-11-112-1/+21
| | | | | | | | | | | | GNU as can give it type SHT_PROGBITS or SHT_X86_64_UNWIND depending on teh construct. MC gives it type SHT_X86_64_UNWIND. The linker has to canonicalize to one or the other so that there is only one .eh_frame in the end. llvm-svn: 252757
* [OMPT] Remove unnecessary header in ompt-general.cJonathan Peyton2015-11-111-1/+0
| | | | | | | | Patch by Harald Servat Differential Revision: http://reviews.llvm.org/D14565 llvm-svn: 252756
* [MIPS] add overrides for isCheapToSpeculateCttz() and isCheapToSpeculateCtlz()Sanjay Patel2015-11-114-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MIPS32 has instructions for efficient count-leading/trailing-zeros, so this should be considered a cheap operation (and therefore fair game for speculation) for any MIPS32 implementation. The net result of allowing this speculation for the regression tests in this patch is that we get this code: ctlz: jr $ra clz $2, $4 cttz: addiu $1, $4, -1 not $2, $4 and $1, $2, $1 clz $1, $1 addiu $2, $zero, 32 jr $ra subu $2, $2, $1 Instead of: ctlz: beqz $4, $BB0_2 addiu $2, $zero, 32 clz $2, $4 $BB0_2: jr $ra nop cttz: beqz $4, $BB1_2 addiu $2, $zero, 32 addiu $1, $4, -1 not $2, $4 and $1, $2, $1 clz $1, $1 addiu $2, $zero, 32 subu $2, $2, $1 $BB1_2: jr $ra nop See D14469 for the larger motivation. Differential Revision: http://reviews.llvm.org/D14500 llvm-svn: 252755
* test/DebugInfo/ARM/prologue_end.ll references thumbv1, which is invalid.Artyom Skrobov2015-11-111-1/+1
| | | | | | | | The committer didn't respond at http://reviews.llvm.org/D14338, so we've got to fix this for them. This test doesn't pass with thumbv6, so I suppose what they meant is thumbv7. llvm-svn: 252754
* Add a helper for getting the output offset of an input offset.Rafael Espindola2015-11-112-3/+17
| | | | | | This will get a non st_value use shortly. llvm-svn: 252753
* [mips] Move MC tests for the DSP ASE into the standard format.Daniel Sanders2015-11-112-97/+45
| | | | | | | | | | | | | | Summary: Only DSPr2 is present because it appears we've never added DSPr1 tests. We'll have to correct that in a later patch. Reviewers: vkalintiris Subscribers: llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D14448 llvm-svn: 252752
* Properly fix unused variable in disable-assert builds.Diego Novillo2015-11-111-1/+3
| | | | | | | | I missed the side-effects of ParseBFI in my previous attempt (r252748). Thanks dblaikie for the suggestion of adding a void use of the unused variable instead. llvm-svn: 252751
* ScopInfo: Limit the number of disjuncts in assumed contextTobias Grosser2015-11-112-0/+245
| | | | | | | | | | | | | | | | | | | | | In certain rare cases (mostly -polly-process-unprofitable on large sequences of conditions - often without any loop), we see some compile-time timeouts due to the construction of an overly complex assumption context. This change limits the number of disjuncts to 150 (adjustable), to prevent us from creating assumptions contexts that are too large for even the compilation to finish. The limit has been choosen as large as possible to make sure we do not unnecessarily drop test coverage. If such cases also appear in -polly-process-unprofitable=false mode we may need to think about this again, as the current limitations may still allow assumptions that are way to complex to be checked profitably at run-time. There is also certainly room for improvement regarding how (and how efficient) we construct an assumed context, but this requires some more thinking. This completes llvm.org/PR25458 llvm-svn: 252750
* [CMake] Make llvm_install_library_symlink respect LLVM_LIBDIR_SUFFIX.Chris Bieneman2015-11-111-1/+1
| | | | | | This is required to support multilib install targets, and addresses a regression introduced in r252093. llvm-svn: 252749
* Remove unused variable in disable-assert builds. NFC.Diego Novillo2015-11-111-2/+1
| | | | llvm-svn: 252748
* [CMake] Add support for building the llvm test-suite as part of an LLVM ↵Chris Bieneman2015-11-112-0/+201
| | | | | | | | | | | | | | | | | | | build using clang and lld Summary: This patch adds a new CMake module for working with ExternalProjects. This wrapper for ExternalProject supports using just-built tools and can hook up dependencies properly so that projects get cleared out. The example usage here is for the llvm test-suite. In this example, the test-suite is setup as dependent on clang and lld if they are in-tree. If the clang or lld binaries change the test-suite is re-configured, cleaned, and rebuilt. This cleanup and abstraction wrapping ExternalProject can be extended and applied to other runtime libraries like compiler-rt and libcxx. Reviewers: samsonov, jroelofs, rengolin, jmolloy Subscribers: jmolloy, llvm-commits Differential Revision: http://reviews.llvm.org/D14513 llvm-svn: 252747
OpenPOWER on IntegriCloud