summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR7272 in -tailcallelim instead of the inlinerReid Kleckner2014-04-214-12/+35
| | | | | | | | | | | | | | | | The -tailcallelim pass should be checking if byval or inalloca args can be captured before marking calls as tail calls. This was the real root cause of PR7272. With a better fix in place, revert the inliner change from r105255. The test case it introduced still passes and has been moved to test/Transforms/Inline/byval-tail-call.ll. Reviewers: chandlerc Differential Revision: http://reviews.llvm.org/D3403 llvm-svn: 206789
* Simplify expression that was explicitly naming an operator overload in a call.David Blaikie2014-04-211-1/+1
| | | | llvm-svn: 206788
* Update FreeBSD: Threads and Watchpoints generally workEd Maste2014-04-211-2/+2
| | | | llvm-svn: 206787
* Use unique_ptr to handle ownership of GCOVFunctions in GCOVProfiler.David Blaikie2014-04-211-14/+10
| | | | llvm-svn: 206786
* Use unique_ptr to handle ownership of UserValues in LiveDebugVariablesImplDavid Blaikie2014-04-211-4/+6
| | | | llvm-svn: 206785
* Use unique_ptr to manage objects owned by the ScheduleDAGMI.David Blaikie2014-04-215-29/+34
| | | | llvm-svn: 206784
* Split out the rest of MS ABI multiple inheritance testsTimur Iskhodzhanov2014-04-215-609/+566
| | | | | | Intentionally duplicate base class definitions per test, so it's easier to copy tests while debugging failures. llvm-svn: 206782
* Objective-C. Patch to allow use of dot syntax on classFariborz Jahanian2014-04-213-10/+49
| | | | | | | objects to fund root class's instance methods. // rdar://16650575 llvm-svn: 206781
* Use value semantics to manage DbgVariables rather than dynamic ↵David Blaikie2014-04-212-54/+57
| | | | | | | | | | allocation/pointers. Requires switching some vectors to lists to maintain pointer validity. These could be changed to forward_lists (singly linked) with a bit more work - I've left comments to that effect. llvm-svn: 206780
* Rename X86insrtps to the proper instruction name.Filipe Cabecinhas2014-04-213-15/+15
| | | | | | | | | | | | | | | Summary: The INSERTPS pattern fragment was called insrtps (mising 'e'), which would make it harder to grep for the patterns related to this instruction. Renaming it to use the proper instruction name. Reviewers: nadav CC: llvm-commits Differential Revision: http://reviews.llvm.org/D3443 llvm-svn: 206779
* [Modules] Consolidate the DEBUG_TYPE defines in NVPTX to the top of theChandler Carruth2014-04-212-5/+1
| | | | | | cpp file rather than in the header and then again in the cpp file. llvm-svn: 206778
* [Modules] Sink all the DEBUG_TYPE defines for InstCombine out of theChandler Carruth2014-04-2113-2/+12
| | | | | | | | | | | header files and into the cpp files. These files will require more touches as the header files actually use DEBUG(). Eventually, I'll have to introduce a matched #define and #undef of DEBUG_TYPE for the header files, but that comes as step N of many to clean all of this up. llvm-svn: 206777
* Allow submodule inferrences with a missing umbrella when the module is ↵Ben Langmuir2014-04-212-1/+8
| | | | | | | | | unavailable If the module is unavailable because of a missing header, don't diagnose a "module * {}" declaration for having a missing umbrella. llvm-svn: 206776
* [Modules] Sink the DEBUG_TYPE macro out of LegalizeTypes.h and into theChandler Carruth2014-04-216-1/+5
| | | | | | | various .cpp files. This macro is inherently non-modular, and it wasn't even needed in this header file. llvm-svn: 206775
* ARM64: Combine shifts and uses from different basic block to bit-extract ↵Yi Jiang2014-04-215-3/+321
| | | | | | instruction llvm-svn: 206774
* Revert "[rtdyld,c++11] Range'ify symbol table walking."Jim Grosbach2014-04-211-25/+33
| | | | | | | | | Tentative revert for http://lab.llvm.org:8011/builders/llvm-mips-linux/builds/8305. This reverts commit c2a58efff07294fca724f89500538f2ddbcd12ff. llvm-svn: 206773
* Fix unnecessary line breakMatt Arsenault2014-04-211-4/+2
| | | | llvm-svn: 206772
* blockfreq: Some cleanup of UnsignedFloatDuncan P. N. Exon Smith2014-04-212-138/+133
| | | | | | | Change `PositiveFloat` to `UnsignedFloat`, and fix some of the comments to indicate that it's disappearing eventually. llvm-svn: 206771
* Add more tests for std::ws as pointed out by bug #19497Marshall Clow2014-04-211-0/+20
| | | | llvm-svn: 206770
* [rtdyld,c++11] Range'ify symbol table walking.Jim Grosbach2014-04-211-33/+25
| | | | llvm-svn: 206769
* Tidy up. Remove extraneous typedef.Jim Grosbach2014-04-211-3/+3
| | | | llvm-svn: 206768
* Object: iterator_range accessors for ObjectImage symbols and sections.Jim Grosbach2014-04-211-0/+8
| | | | llvm-svn: 206767
* Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl"Duncan P. N. Exon Smith2014-04-2112-316/+2930
| | | | | | | | | This reverts commit r206707, reapplying r206704. The preceding commit to CalcSpillWeights should have sorted out the failing buildbots. <rdar://problem/14292693> llvm-svn: 206766
* CalcSpillWeights: Hack to prevent x87 nonsenseDuncan P. N. Exon Smith2014-04-211-1/+5
| | | | | | | | | This gross hack forces `hweight` into memory, preventing hidden precision from making `1 > 1` occasionally equal `true`. <rdar://problem/14292693> llvm-svn: 206765
* Remove useless declarationSylvestre Ledru2014-04-211-2/+0
| | | | llvm-svn: 206764
* Fix the test: DCE optimized away everything.Eli Bendersky2014-04-211-9/+9
| | | | | | | | Use volatile store to protect the generated PTX from DCE. Patch by Jingyue Wu. llvm-svn: 206763
* TestPtrRef2Typedef.py change - take 2.Todd Fiala2014-04-211-2/+6
| | | | | | | | | Our build is still getting this test to fail with the presence of const in '(Foo &const) y = 0x' and '(Foo &&const) z = 0x'. This change simply changes the match substrings to ignore the portion after the final '&' and before the closing ')'. This should cover the presence (or absence) of the const qualifier. llvm-svn: 206762
* Remove decorator for now-passing testEd Maste2014-04-211-1/+0
| | | | | | | | | | The underlying issue was actually a Clang bug, now fixed. The test now reports XPASS for me locally and on the buildbot. llvm.org/pr17183 (LLDB) llvm.org/pr18950 (Clang) llvm-svn: 206761
* Add a comment to tests that XPASS on FreeBSDEd Maste2014-04-212-3/+3
| | | | | | | | | | | | | | Perhaps these should be @expectedFailureDarwin instead of @unittest2.expectedFailure (applying to all hosts); I'm not aware of the details in the rdars. Just add a comment for now, for the benefit of anyone investigating FreeBSD test issues in the future. rdar://9980907 rdar://15367233 llvm-svn: 206760
* [msan] Enable out-of-line instrumentation for large functions by default.Evgeniy Stepanov2014-04-211-1/+1
| | | | llvm-svn: 206759
* Appease autoconf build since X86Disassembler.c has been disappeared in r206717.NAKAMURA Takumi2014-04-211-0/+2
| | | | | | It can be reverted a few days later, after X86Disassembler.d is updated not to contain "X86Disassembler.c". llvm-svn: 206758
* Remove decorator for now-passing testEd Maste2014-04-211-1/+0
| | | | | | | | | I am not sure if this is due to an LLDB change, or the fact that FreeBSD now has Clang 3.4. llvm.org/pr19075 llvm-svn: 206757
* [asan] add a run-time flag detect_container_overflow=true/falseKostya Serebryany2014-04-211-1/+1
| | | | llvm-svn: 206756
* [sanitizer] Intercept tsearch.Evgeniy Stepanov2014-04-213-1/+54
| | | | llvm-svn: 206755
* tsan: deflake testDmitry Vyukov2014-04-211-2/+1
| | | | | | | | | | | ocasionally it fails with a slightly different report: WARNING: ThreadSanitizer: signal handler spoils errno (pid=3674) #0 MyHandler(int, siginfo*, void*) ... #4 __tsan_free_hook #5 main signal_errno.cc:40 llvm-svn: 206754
* [asan] add a run-time flag detect_container_overflow=true/falseKostya Serebryany2014-04-215-1/+12
| | | | llvm-svn: 206753
* Handle possible trailing '/' in xcode-select output. Patch by Jeff Olson.Ted Kremenek2014-04-211-1/+1
| | | | llvm-svn: 206752
* Revert "Fix TestPtrRef2Typedef with new const adornment on expected ref type."Ed Maste2014-04-211-2/+2
| | | | | | | | | | The additional "const" breaks the FreeBSD buildbot, and does not appear to be due to a LLVM or Clang change. Revert the change while investigating further. This reverts revision 206619. llvm-svn: 206751
* Convert getFileOffset to getOffset and move it to its only user.Rafael Espindola2014-04-216-69/+34
| | | | | | | | | | | | | We normally don't drop functions from the C API's, but in this case I think we can: * The old implementation of getFileOffset was fairly broken * The introduction of LLVMGetSymbolFileOffset was itself a C api breaking change as it removed LLVMGetSymbolOffset. * It is an incredibly specialized use case. The only reason MCJIT needs it is because of its odd position of being a dynamic linker of .o files. llvm-svn: 206750
* Reapply r206732. This time without optimization of branches.Michael Zolotukhin2014-04-219-0/+729
| | | | llvm-svn: 206749
* [asan] add __asan_memset and friendsKostya Serebryany2014-04-213-28/+43
| | | | llvm-svn: 206748
* [asan] add llvm-ish test for memset/etc instrumentationKostya Serebryany2014-04-211-0/+17
| | | | llvm-svn: 206747
* [asan] instead of inserting inline instrumentation around ↵Kostya Serebryany2014-04-211-29/+33
| | | | | | memset/memcpy/memmove, replace the intrinsic with __asan_memset/etc. This makes the memset/etc handling more complete and consistent with what we do in msan. It may slowdown some cases (when the intrinsic was actually inlined) and speedup other cases (when it was not inlined) llvm-svn: 206746
* [PM] Add a new-PM-style CGSCC pass manager using the newly addedChandler Carruth2014-04-217-0/+929
| | | | | | | | | | | | | | | | | | | | | | | LazyCallGraph analysis framework. Wire it up all the way through the opt driver and add some very basic testing that we can build pass pipelines including these components. Still a lot more to do in terms of testing that all of this works, but the basic pieces are here. There is a *lot* of boiler plate here. It's something I'm going to actively look at reducing, but I don't have any immediate ideas that don't end up making the code terribly complex in order to fold away the boilerplate. Until I figure out something to minimize the boilerplate, almost all of this is based on the code for the existing pass managers, copied and heavily adjusted to suit the needs of the CGSCC pass management layer. The actual CG management still has a bunch of FIXMEs in it. Notably, we don't do *any* updating of the CG as it is potentially invalidated. I wanted to get this in place to motivate the new analysis, and add update APIs to the analysis and the pass management layers in concert to make sure that the *right* APIs are present. llvm-svn: 206745
* [PM] Fix a bug where we didn't properly clear the list map when the listChandler Carruth2014-04-211-0/+2
| | | | | | | | | | became empty. This would manifest later as an assert failure due to a non-empty list map but an empty result map. This doesn't easily manifest with just the module pass manager and the function pass manager, but the next commit will add the CGSCC pass manager that hits this assert immediately. llvm-svn: 206744
* llvm/test/CodeGen/X86/bmi.ll: Relax expressions for targeting win32.NAKAMURA Takumi2014-04-211-2/+2
| | | | llvm-svn: 206743
* [asan] add one more mode to run asan tests with '-with-calls', i.e. using ↵Kostya Serebryany2014-04-211-20/+22
| | | | | | -mllvm -asan-instrumentation-with-call-threshold=0. This is very unfortunate since it effectively doubles the number of gunit asan tests that need to be built and run, but as long as we need out-lined calls (PR17409) I see no other way to test this workaround llvm-svn: 206742
* [asan] temporary disable generating __asan_loadN/__asan_storeNKostya Serebryany2014-04-211-11/+6
| | | | llvm-svn: 206741
* [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't ↵Benjamin Kramer2014-04-2112-32/+23
| | | | | | | | break the API. No functionality change. llvm-svn: 206740
* [PM] Wire the analysis passes (such as they are) into the registry, andChandler Carruth2014-04-212-3/+18
| | | | | | teach the opt driver to use it rather than a manual list. llvm-svn: 206739
OpenPOWER on IntegriCloud