summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Silence variable set but not used warning, NFC.Yaron Keren2015-02-281-2/+3
| | | | llvm-svn: 230848
* Fix OS X build failure with Command Line Tools and without full Xcode ↵Kuba Brecka2015-02-282-6/+15
| | | | | | | | | | installation On OS X, if you don't have a full Xcode installation, but just the Command Line Tools package, xcrun and xcodebuild don't return a valid SDK root path. In these cases, let's use "/" as the SDK root (which is where the headers and libraries are installed). Reviewed at http://reviews.llvm.org/D7641 llvm-svn: 230847
* ArrayRefize memory operand folding. NFC.Benjamin Kramer2015-02-2812-125/+99
| | | | llvm-svn: 230846
* Replace std::copy with a back inserter with vector append where feasibleBenjamin Kramer2015-02-288-21/+15
| | | | | | | | | All of the cases were just appending from random access iterators to a vector. Using insert/append can grow the vector to the perfect size directly and moves the growing out of the loop. No intended functionalty change. llvm-svn: 230845
* Remove option.ll as part of the Forward Control Flow IntegrityEric Christopher2015-02-281-39/+0
| | | | | | removal. llvm-svn: 230844
* Add change accidentally missed from r230840.Richard Smith2015-02-281-1/+0
| | | | llvm-svn: 230843
* Symbolizer refactoring: SymbolizerTool and better interfaceKuba Brecka2015-02-282-60/+87
| | | | | | Reviewed at: http://reviews.llvm.org/D7936 llvm-svn: 230842
* Add PS4's autolink syntax to autolink.m's CHECK lines.Filipe Cabecinhas2015-02-281-2/+2
| | | | llvm-svn: 230841
* [modules] Avoid adding a redecl chain to the 'pending out of date' list as theRichard Smith2015-02-282-4/+41
| | | | | | very first step in updating it. llvm-svn: 230840
* Give better diagnostics when -fmodule-file= finds a bad file: if the file isRichard Smith2015-02-283-6/+33
| | | | | | | found indirectly, explain how we got there, and distinguish between 'file not found' and 'file found but invalid'. llvm-svn: 230839
* [MIPS] Add missing header for syscallPetar Jovanovic2015-02-281-0/+1
| | | | | | | | | | The syscall function itself is declared in <unistd.h> Compiling compiler-rt with -Werror-implicit-function-declaration will cause a build failure. This change fixes it. Differential Revision: http://reviews.llvm.org/D7949 llvm-svn: 230838
* Unwind: make it build on Darwin againSaleem Abdulrasool2015-02-281-2/+5
| | | | | | | The support for the LSB eh_frame_hdr extension was overzealous in trying to include headers. Be more careful to permit building on Darwin. llvm-svn: 230837
* [RewriteStatepointsForGC] Reduce indentation via early continue [NFC]Philip Reames2015-02-281-81/+82
| | | | llvm-svn: 230836
* [RewriteStatepointsForGC] Fix another order of iteration bugPhilip Reames2015-02-282-5/+21
| | | | | | | | | | | | It turns out the naming of inserted phis and selects is sensative to the order in which two sets are iterated. We need to nail this down to avoid non-deterministic output and possible test failures. The modified test is the one I first noticed something odd in. The change is making it more strict to report the error. With the test change, but without the code change, the test fails roughly 1 in 5. With the code change, I've run ~30 runs without error. Long term, the right fix here is to adjust the naming scheme. I'm checking in this hack to avoid any possible non-determinism in the tests over the weekend. HJust because I only noticed one case doesn't mean it's actually the only case. I hope to get to the right change Monday. std->llvm data structure changes bugfix change #3 llvm-svn: 230835
* [modules] Deduplicate when merging lists of template specializations from ↵Richard Smith2015-02-282-28/+49
| | | | | | imported modules. llvm-svn: 230834
* [ASan] debug_stacks.cc was passing on ARM by accident, disable this test ↵Alexey Samsonov2015-02-281-0/+3
| | | | | | there for now. llvm-svn: 230833
* Temporarily XFAIL TestLaunchWithShellExpand to get the build greenVince Harron2015-02-281-0/+1
| | | | llvm-svn: 230832
* Use -fstandalone-debug for few tests to get around a Clang optimizationVince Harron2015-02-2811-0/+78
| | | | | | | | | | | | | | | | | | | clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD targets. Other targets do not, which causes several tests to fail. This flag enables FullDebugInfo for all targets. Fixes the following tests: TestCallStdStringFunction.py TestDataFormatterSkipSummary.py TestDataFormatterStdIterator.py TestDataFormatterStdList.py TestDataFormatterStdString.py TestSBValuePersist.py TestStringPrinter.py TestTypeCompletion.py llvm-svn: 230831
* Rework our handling of key functions. We used to track a complete list of allRichard Smith2015-02-2814-132/+53
| | | | | | | | | | | | | | dynamic classes in the translation unit and check whether each one's key function is defined when we got to the end of the TU (and when we got to the end of each module). This is really terrible for modules performance, since it causes unnecessary deserialization of every dynamic class in every compilation. We now use a much simpler (and, in a modules build, vastly more efficient) system: when we see an out-of-line definition of a virtual function, we check whether that function was in fact its class's key function. (If so, we need to emit the vtable.) llvm-svn: 230830
* [RewriteStatepointsForGC] Reduce indentation via early continue [NFC]Philip Reames2015-02-281-35/+36
| | | | llvm-svn: 230829
* Fixed pthread linking errors in test binariesVince Harron2015-02-284-0/+4
| | | | | | | | | | | Fixes these tests: TestBreakAfterJoin.py TestCreateDuringStep.py TestExitDuringBreak.py TestMultipleBreakpoints.py llvm-svn: 230828
* [RewriteStatepointsForGC] Fix iterator invalidation bugPhilip Reames2015-02-281-2/+11
| | | | | | | | Inserting into a DenseMap you're iterating over is not well defined. This is unfortunate since this is well defined on a std::map. "cleanup per llvm code style standards" bug #2 llvm-svn: 230827
* [dsymutil] Fully qualify llvm::make_unique<>.Frederic Riss2015-02-281-2/+3
| | | | llvm-svn: 230826
* [dsymutil] Add the DwarfStreamer class.Frederic Riss2015-02-289-9/+169
| | | | | | | | | | | | | | | | | | | | This class is responsible for getting the linked data to the disk in the appropriate form. Today it it an empty shell that just instantiates an MC layer. As we do not put anything in the resulting file yet, we just check it has the right architecture (and check that -o does the right thing). To be able to create all the components, this commit adds a few dependencies to llvm-dsymutil, namely all-targets, MC and AsmPrinter. Also add a -no-output option, so that tests that do not need the binary result can continue to run even if they do not have the required target linked in. llvm-svn: 230824
* [dsymutil] Add a LinkOptions struct to pass to the DwarfLinker. NFC.Frederic Riss2015-02-283-14/+26
| | | | | | | The only option we have to pass down currently is verbosity, but there are more to come. llvm-svn: 230823
* [dsymutil] clang-format a fileFrederic Riss2015-02-281-3/+2
| | | | llvm-svn: 230822
* [dsymutil] Add -o option to select ouptut filenameFrederic Riss2015-02-281-4/+14
| | | | | | We do not create the output file yet, so no means to test. llvm-svn: 230821
* [dsymutil] Create warn() global helper...Frederic Riss2015-02-281-3/+8
| | | | | | | | | ...and reimplement DwarfLinker::reportWarning in terms of it. Other compenents than the DwarfLinker will need to report warnings, and I'm about to add a similar "error()" helper at the same global level so make that consistent. llvm-svn: 230820
* [dsymutil] Make trivial accessor const.Frederic Riss2015-02-281-1/+1
| | | | llvm-svn: 230819
* [RewriteStatepointsForGC] Add tests for the base pointer identification ↵Philip Reames2015-02-2813-2/+478
| | | | | | | | | | | | algorithm These tests cover the 'base object' identification and rewritting portion of RewriteStatepointsForGC. These aren't completely exhaustive, but they've proven to be reasonable effective over time at finding regressions. In the process of porting these tests over, I found my first "cleanup per llvm code style standards" bug. We were relying on the order of iteration when testing the base pointers found for a derived pointer. When we switched from std::set to DenseSet, this stopped being a safe assumption. I'm suspecting I'm going to find more of those. In particular, I'm now really wondering about the main iteration loop for this algorithm. I need to go take a closer look at the assumptions there. I'm not really happy with the fact these are testing what is essentially debug output (i.e. enabled via command line flags). Suggestions for how to structure this better are very welcome. llvm-svn: 230818
* Casting pid to ::pid_t when invoking syscall.Chaoren Lin2015-02-282-2/+4
| | | | | | | | | | | | | | Summary: syscalls involving pid/tid on 32 bit binaries are failing with "Invalid argument" because the uint64_t arguments are too wide. Reviewers: clayborg, ovyalov, sivachandra Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D7963 llvm-svn: 230817
* DebugInfo: hoist definition into global context when neededSaleem Abdulrasool2015-02-282-3/+22
| | | | | | | | | | | | When generating debug info for a static inline member which is initialized for the DLLExport storage class, hoist the definition into a non-composite type context. Otherwise, we would trigger an assertion when generating the DIE for the associated global value as the debug context has a type association. This addresses PR22669. Thanks to David Blakie for help in coming up with a solution to this! llvm-svn: 230816
* Do s/_context/_ctx/ to Resolver.cpp.Rui Ueyama2015-02-272-25/+24
| | | | llvm-svn: 230814
* Remove a varaible that's used only once. NFC.Rui Ueyama2015-02-271-8/+7
| | | | llvm-svn: 230813
* Discourage in-source autoconf builds (as we already do for the cmake build)Jonathan Roelofs2015-02-272-0/+11
| | | | | | http://reviews.llvm.org/D7961 llvm-svn: 230812
* Regenerated test case from pr 230801 for change in LLVM IR syntaxBill Schmidt2015-02-271-0/+78
| | | | llvm-svn: 230811
* Update SystemZ/Large test generators to handle new gep IR syntaxDavid Blaikie2015-02-2714-27/+27
| | | | llvm-svn: 230810
* Update SystemZ/Large test generators to handle new load IR syntaxDavid Blaikie2015-02-2714-27/+27
| | | | llvm-svn: 230809
* Call File::beforeLink hook even if the file is in an archive.Rui Ueyama2015-02-273-2/+10
| | | | | | | | | | | | | | | | Previously we didn't call the hook on a file in an archive, which let the PE/COFF port fail to link files in archives. It was a simple mistake. Added a call to the hook and also added a test to catch that error. const_cast is an unfortunate hack. Files in the resolver are usually const, but they are not actually const objects, since they are mutated if either a file is taken from an archive (an archive file does never return the same file twice) or the beforeLink hook is called. Maybe we should just remove const from there -- because they are not const. llvm-svn: 230808
* [new docs] Performance Tips for Frontend AuthorsPhilip Reames2015-02-273-0/+70
| | | | | | | | | | As mentioned on llvm-dev, this is a new documentation page intended to collect tips for frontend authors on how to generate IR that LLVM is able to optimize well. These types of things come up repeated in review threads and it would be good to have a place to save them. I added a small handful to start us off, but I mostly want to get the framework in place. Once the docs are here, we can add to them incrementally. If you know of something appropriate for this page, please add it! Differential Revision: http://reviews.llvm.org/D7890 llvm-svn: 230807
* MachineDominators: Move applySplitCriticalEdges into the cpp file.Benjamin Kramer2015-02-272-72/+68
| | | | | | | It's too big for inlining anyways. Also clean it up slightly. No functionality change intended. llvm-svn: 230806
* [modules] When writing out a list of specializations for a template, if we haveRichard Smith2015-02-272-57/+58
| | | | | | | | undeserialized specializations (because we merged an imported declaration of the same template since we last added one), don't bother reading in the specializations themselves just so we can write out their IDs again. llvm-svn: 230805
* llvm-vtabledump: Update field with a better nameDavid Majnemer2015-02-272-16/+16
| | | | llvm-svn: 230804
* Revert test case until it can be fixedBill Schmidt2015-02-271-65/+0
| | | | llvm-svn: 230803
* Add .eh_frame_hdr search to Linux unwinder.Dan Albert2015-02-274-10/+242
| | | | | | | | | | | This improves the performance of unwinding on DWARF based targets. The 32-bit x86 support for scanning the full eh_frame (CFI_Parser::findFDE) apparently does not work (at least not on Linux). Since the eh_frame_hdr code delegates to that, this still doesn't work for x86 Linux, but it has been tested on x86_64 Linux and aarch64 Android. llvm-svn: 230802
* [PowerPC] Fix PR22711 - Misaligned .toc sectionBill Schmidt2015-02-272-0/+66
| | | | | | | | | | | | Straightforward patch to emit an alignment directive when emitting a TOC entry. The test case was generated from the test in PR22711 that demonstrated a misaligned .toc section. The object code is run through llvm-readobj to verify that the correct alignment has been applied to the .toc section. Thanks to Ulrich Weigand for running down where the fix was needed. llvm-svn: 230801
* [Fix] Two tests that broke during the last changesJohannes Doerfert2015-02-271-6/+5
| | | | llvm-svn: 230800
* Convert TestWatchLocation to use C++11 library instead of pthread.Chaoren Lin2015-02-272-45/+45
| | | | | | | | | | Reviewers: clayborg, zturner, ki.stfu, abidh Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D7950 llvm-svn: 230799
* Reduce double set lookups.Benjamin Kramer2015-02-273-6/+3
| | | | llvm-svn: 230798
* Fix test I missedDavid Blaikie2015-02-271-1/+1
| | | | | | | This was & is failing at ToT, but now it's failing for the original reason, not because the IR can't be parsed. llvm-svn: 230797
OpenPOWER on IntegriCloud