summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [SjLjEHPrepare] Simplify/cleanup codeDavid Majnemer2016-02-191-64/+50
| | | | | | No functional change is intended. llvm-svn: 261307
* LegalizeDAG: Fix ExpandFCOPYSIGN assuming the same type on both inputsMatthias Braun2016-02-192-5/+54
| | | | llvm-svn: 261306
* [LPM] Actually test what the O2 pass pipeline consists of in key places,Chandler Carruth2016-02-191-0/+101
| | | | | | | | | | | | | | | | | especially the *structure* of it with respect to various pass managers. This uncovers an absolute horror show of problems. This test shows just how bad PR24804 is: we have a totaly of *seven* loop pass managers in the main optimization pipeline. I've tried to comment the various bits to the best of my knowledge, but more enhancements here would be great. Also great would be folks adding various test for other pipelines, I'm focused on trying to fix the O2 pipeline. I just wanted a test to show what I'm changing. llvm-svn: 261305
* Add profile summary support for sample profile.Easwaran Raman2016-02-1912-19/+238
| | | | | | Differential Revision: http://reviews.llvm.org/D17178 llvm-svn: 261304
* [SjLjEHPrepare] Don't grab pointers to functions in doInitializationDavid Majnemer2016-02-192-18/+48
| | | | | | | | | | Certain optimization passes (like globaldce) can prune function declaration that SjLjEHPrepare assumed would exit when it'd runOnFunction. This fixes PR26669. llvm-svn: 261303
* [AA] Preserve the AA results wrapper pass as well as BasicAA in a fewChandler Carruth2016-02-192-0/+6
| | | | | | | | | | | | | more places to prevent gratuitous re-"runs" of these passes. The passes themselves don't do any work when run, but we keep spending time scheduling and running these needlessly when we really don't need to do so. This is the first patch towards fixing the really horrible loop pass pipeline fragmentation pointed out by Sanjoy in PR24804. llvm-svn: 261302
* Fix SemaTemplate/instantiate-field.cpp after r261297.Nico Weber2016-02-191-1/+1
| | | | | | | | | | | | | | For templates, fields can have incomplete types: template <class T> struct A2 { struct B; B b; }; Don't try to touch the DefinitionData of those fields. llvm-svn: 261301
* [llvm-nm] In C++, main implicitly returns 0. Pointed out by David Blaikie.Davide Italiano2016-02-191-2/+0
| | | | llvm-svn: 261300
* Bug fix: use dyn_cast_or_null instead of dyn_castLawrence Hu2016-02-192-2/+25
| | | | | | Differential Revision: http://reviews.llvm.org/D17154 llvm-svn: 261299
* llvm-dwp: Don't test compression when zlib isn't availableDavid Blaikie2016-02-192-1/+3
| | | | llvm-svn: 261298
* Implement the likely resolution of core issue 253.Nico Weber2016-02-1914-42/+135
| | | | | | | | | | | | | | | | | | C++11 requires const objects to have a user-provided constructor, even for classes without any fields. DR 253 relaxes this to say "If the implicit default constructor initializes all subobjects, no initializer should be required." clang is currently the only compiler that implements this C++11 rule, and e.g. libstdc++ relies on something like DR 253 to compile in newer versions. This change makes it possible to build code that says `const vector<int> v;' again when using libstdc++5.2 and _GLIBCXX_DEBUG (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60284). Fixes PR23381. http://reviews.llvm.org/D16552 llvm-svn: 261297
* llvm-dwp: Support compressed inputDavid Blaikie2016-02-193-5/+62
| | | | llvm-svn: 261296
* Update cxx_dr_status.html with today's cwg_index.html.Nico Weber2016-02-191-67/+67
| | | | | | | | | Created by: cd www curl -O http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_index.html ./make_cxx_dr_status llvm-svn: 261295
* Minor code cleanups. NFC.Junmo Park2016-02-191-3/+3
| | | | llvm-svn: 261294
* [analyzer] Add checker callback for beginning of function.Devin Coughlin2016-02-1914-21/+170
| | | | | | | | | | Add a checker callback that is called when the analyzer starts analyzing a function either at the top level or when inlined. This will be used by a follow-on patch making the DeallocChecker path sensitive. Differential Revision: http://reviews.llvm.org/D17418 llvm-svn: 261293
* [Sema] PR25181 Fix crash when method declaration with throw spec fails to ↵Reid Kleckner2016-02-192-1/+9
| | | | | | | | | | | | | | | parse correctly Fixes crash referenced in PR25181 where dyn_cast is called on a null instance of LM.Method. Reviewers: majnemer, rnk Patch by Don Hinton Differential Revision: http://reviews.llvm.org/D17072 llvm-svn: 261292
* [sancov] widening default blacklist.Mike Aizatsky2016-02-191-1/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D17426 llvm-svn: 261291
* Add call to find_package to load LLVM dependenciesReid Kleckner2016-02-191-0/+2
| | | | | | | | | | | | | ClangConfig requires LLVMConfig, so add find_package call in ClangConfig so find_package(clang REQUIRED CONFIG) will just work. This makes it easier for cmake based projects to use clang, e.g., tools using ClangTooling. Patch by Don Hinton Differential Revision: http://reviews.llvm.org/D13622 llvm-svn: 261290
* [sancov] Adding covered/uncovered tables to coverage report.Mike Aizatsky2016-02-191-204/+462
| | | | | | | | | | | | | | | Summary: This change adds 3 tables to html report: - list of covered files with number of functions covered. - list of not covered files - list of not covered functions. I tried to put most coverage-calculating functionality into SourceCoverageData. Differential Revision: http://reviews.llvm.org/D17421 llvm-svn: 261287
* When printing MIR, output to errs() rather than outs().Justin Lebar2016-02-1974-80/+81
| | | | | | | | | | | | | | | | | | | | | Summary: Without this, this command $ llvm-run llc -stop-after machine-cp -o - <( echo '' ) outputs an error, because we close stdout twice -- once when closing the file opened for "-o", and again when closing outs(). Also clarify in the outs() definition that you can't ever call it if you want to open your own raw_fd_ostream on stdout. Reviewers: jroelofs, tstellarAMD Subscribers: jholewinski, qcolombet, dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D17422 llvm-svn: 261286
* Fix my typo from r261278Richard Trieu2016-02-191-1/+1
| | | | llvm-svn: 261285
* [CaptureTracking] Add a test case for pointer cmpxchgPhilip Reames2016-02-191-0/+6
| | | | | | This test builds on 261250 (IR support for cmpxchg of pointers) and 261245 (capture tracking support for cmpxchg) to show that correctly analyze the capturing of pointers in a cmpxchg of pointer type. llvm-svn: 261284
* [IR] Extend cmpxchg to allow pointer type operandsPhilip Reames2016-02-195-20/+161
| | | | | | | | | | | | Today, we do not allow cmpxchg operations with pointer arguments. We require the frontend to insert ptrtoint casts and do the cmpxchg in integers. While correct, this is problematic from a couple of perspectives: 1) It makes the IR harder to analyse (for instance, it make capture tracking overly conservative) 2) It pushes work onto the frontend authors for no real gain This patch implements the simplest form of IR support. As we did with floating point loads and stores, we teach AtomicExpand to convert back to the old representation. This prevents us needing to change all backends in a single lock step change. Over time, we can migrate each backend to natively selecting the pointer type. In the meantime, we get the advantages of a cleaner IR representation without waiting for the backend changes. Differential Revision: http://reviews.llvm.org/D17413 llvm-svn: 261281
* This patch stops lldb from loading a .lldbinit file from the currentJason Molenda2016-02-1911-16/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | working directory by default -- a typical security problem that we need to be more conservative about. It adds a new target setting, target.load-cwd-lldbinit which may be true (always read $cwd/.lldbinit), false (never read $cwd/.lldbinit) or warn (warn if there is a $cwd/.lldbinit and don't read it). The default is set to warn. If this is met with unhappiness, we can look at changing the default to true (to match current behavior) on a different platform. This does not affect reading of ~/.lldbinit - that will still be read, as before. If you run lldb in your home directory, it will not warn about the presence of a .lldbinit file there. I had to add two SB API - SBHostOS::GetUserHomeDirectory and SBFileSpec::AppendPathComponent - for the lldb driver code to be able to get the home directory path in an OS neutral manner. The warning text is There is a .lldbinit file in the current directory which is not being read. To silence this warning without sourcing in the local .lldbinit, add the following to the lldbinit file in your home directory: settings set target.load-cwd-lldbinit false To allow lldb to source .lldbinit files in the current working directory, set the value of this variable to true. Only do so if you understand and accept the security risk. <rdar://problem/24199163> llvm-svn: 261280
* Make sure code that is in the middle of figuring out the correct architectureJim Ingham2016-02-184-22/+95
| | | | | | | | | on attach uses the architecture it has figured out, rather than the Target's architecture, which may not have been updated to the correct value yet. <rdar://problem/24632895> llvm-svn: 261279
* Add -Wcomma warning to Clang.Richard Trieu2016-02-185-0/+376
| | | | | | | | | | | -Wcomma will detect and warn on most uses of the builtin comma operator. It currently whitelists the first and third statements of the for-loop. For other cases, the warning can be silenced by casting the first operand of the comma operator to void. Differential Revision: http://reviews.llvm.org/D3976 llvm-svn: 261278
* [x86] fix initialization of PredictableSelectIsExpensiveSanjay Patel2016-02-181-3/+3
| | | | | | | | | | This is effectively NFC because Atom is the only in-order x86 subtarget currently, but the predicate would have become wrong if any other in-order CPU came along. See related discussion in: http://reviews.llvm.org/D16836 llvm-svn: 261275
* [ASTImporter] Implement missing VisitAccessSpecDecl function in ASTImporter ↵Argyrios Kyrtzidis2016-02-184-8/+36
| | | | | | | | class. Patch by Elisavet Sakellari! llvm-svn: 261274
* [CMake] Properly set CMAKE_BUILD_TYPE to Debug by defaultChris Bieneman2016-02-181-1/+1
| | | | | | | | | | | | | | | Summary: PR26666: CMAKE_BUILD_TYPE was previously being reset to blank. Reviewers: rnk, beanz Subscribers: llvm-commits Patch By: Derek Bruening Differential Revision: http://reviews.llvm.org/D17398 llvm-svn: 261273
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-181-191/+147
| | | | | | source/Commands/CommandObjectBreakpoint.cpp; other minor fixes. llvm-svn: 261272
* Remove use of builtin comma operator.Richard Trieu2016-02-1814-41/+116
| | | | | | Cleanup for upcoming Clang warning -Wcomma. No functionality change intended. llvm-svn: 261271
* Remove uses of builtin comma operator.Richard Trieu2016-02-1835-187/+329
| | | | | | Cleanup for upcoming Clang warning -Wcomma. No functionality change intended. llvm-svn: 261270
* Change comma to semi-colon, no functionality change.Richard Trieu2016-02-181-1/+1
| | | | | | Cleanup for upcoming Clang warning -Wcomma. llvm-svn: 261269
* [ADT] Be less clever when using a nonce type for disambiguation.Jordan Rose2016-02-181-3/+5
| | | | | | | | | Old compilers don't like constexpr, but we're only going to use this in one place anyway: this file. Everyone else should go through PointerLikeTypeTraits. Update to r261259. llvm-svn: 261268
* [libFuzzer] only read MaxLen bytes from every file in the corpus to speedup ↵Kostya Serebryany2016-02-184-12/+18
| | | | | | loading the corpus llvm-svn: 261267
* Remove expectedFlakeyFreeBSD decorator for prompt settingEd Maste2016-02-181-1/+0
| | | | | | | | | The race condition/use after free involved in setting long prompts appears to be fixed now (although I do not know which commit fixed it). llvm.org/pr22611 llvm-svn: 261266
* [PPCLoopDataPrefetch] Move pass to Transforms/Scalar/LoopDataPrefetch. NFCAdam Nemet2016-02-186-6/+10
| | | | | | | | | | | | | This patch is part of the work to make PPCLoopDataPrefetch target-independent (http://thread.gmane.org/gmane.comp.compilers.llvm.devel/92758). Obviously the pass still only used from PPC at this point. Subsequent patches will start driving this from ARM64 as well. Due to the previous patch most lines should show up as moved lines. llvm-svn: 261265
* [PPCLoopDataPrefetch] Remove PPC from some of the names. NFCAdam Nemet2016-02-181-14/+14
| | | | | | | | | | | | This is done only to make the next patch that move the pass out PPC to Transforms easier to read. After this most line should show up as moved lines in that patch. This patch is part of the work to make PPCLoopDataPrefetch target-independent (http://thread.gmane.org/gmane.comp.compilers.llvm.devel/92758). llvm-svn: 261264
* Un-XFAIL the last C++ EH test, it was fixed by r261258Reid Kleckner2016-02-181-3/+0
| | | | llvm-svn: 261263
* [WinEH] Hoist state stores from successorsDavid Majnemer2016-02-182-2/+55
| | | | | | | | | | If we know that all of our successors want to be in the exact same state, it makes sense to hoist the state transition into their common predecessor. Differential Revision: http://reviews.llvm.org/D17391 llvm-svn: 261262
* Add test coverage for default linkerXinliang David Li2016-02-181-4/+11
| | | | llvm-svn: 261261
* [Sema] Fix bug in TypeLocBuilder::pushImplAkira Hatanaka2016-02-182-4/+44
| | | | | | | | | | | | | | The code in TypeLocBuilder::pushImpl wasn't correctly handling the case where an element that has an 8-byte alignment was being pushed. I plan to follow up with a patch to remove redundancies and simplify the function. rdar://problem/23838912 Differential Revision: http://reviews.llvm.org/D16843 llvm-svn: 261260
* [ADT] Fix PointerEmbeddedInt when the underlying type is uintptr_t.Jordan Rose2016-02-182-7/+52
| | | | | | ...and when you try to store negative values in it. llvm-svn: 261259
* [IR] Straighten out bundle overload of IRBuilder::CreateCallReid Kleckner2016-02-182-9/+18
| | | | | | | | | | | | | | | | | IRBuilder has two ways of putting bundle operands on calls: the default operand bundle, and an overload of CreateCall that takes an operand bundle list. Previously, this overload used a default argument of None. This made it impossible to distinguish between the case were the caller doesn't care about bundles, and the case where the caller explicitly wants no bundles. We behaved as if they wanted the latter behavior rather than the former, which led to problems with simplifylibcalls and WinEH. This change fixes it by making the parameter non-optional, so we can distinguish these two cases. llvm-svn: 261258
* [X86ISelLowering] Use isPowerof2 instead of rewriting it. NFC.Davide Italiano2016-02-181-1/+1
| | | | llvm-svn: 261255
* Add support for invoke/landingpad/resume in C API testAmaury Sechet2016-02-184-1/+203
| | | | | | | | | | | | Summary: As per title. There was a lot of part missing in the C API, so I had to extend the invoke and landingpad API. Reviewers: echristo, joker.eph, Wallbraker Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17359 llvm-svn: 261254
* Missed a spot in r261251, also ignore attributes on all pointer parametersKrzysztof Parzyszek2016-02-181-2/+2
| | | | llvm-svn: 261253
* Use Backend_EmitMCNull for null codegen unit tests.David L. Jones2016-02-181-1/+1
| | | | | | | | | | | | | | Using Backend_EmitLL attemps to create a file with an empty filename. This is problematic in certain environments: an empty filename may be illegal, or the default output path may not be writable (in the case where an empty filename would otherwise have some non-failing semantics). This patch switches to use Backend_EmitMCNull, which allows CodeGen to run, but does not attempt to create or write an output file. Differential Revision: http://reviews.llvm.org/D17405 llvm-svn: 261252
* Make test less prone to attribute changesKrzysztof Parzyszek2016-02-181-3/+3
| | | | llvm-svn: 261251
* Restrict scope of variables [NFC]Philip Reames2016-02-181-2/+2
| | | | llvm-svn: 261250
OpenPOWER on IntegriCloud