summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [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
* [X86] ISEL (and X, <constant mask>) to BZHI when BMI2 is available.Lang Hames2014-04-212-0/+32
| | | | | | | | | | Generating BZHI in the variable mask case, i.e. (and X, (sub (shl 1, N), 1)), was already supported, but we were missing the constant-mask case. This patch fixes that. <rdar://problem/15480077> llvm-svn: 206738
* [PM] Add a nice low-tech registry of passes as a boring macro expansionChandler Carruth2014-04-212-15/+50
| | | | | | | | file. This will make it easy to scale up the number of passes supported. Currently, it just supports the function and module transformation passes that were already supported in the opt tool explicitly. llvm-svn: 206737
* Initialize clang::Module::IsMissingRequirement. Fix msan issue and hopefully ↵Richard Smith2014-04-211-6/+6
| | | | | | some builder failures. llvm-svn: 206736
* Revert r206732 which is causing llc to crash on most of the build bots.Chandler Carruth2014-04-219-837/+0
| | | | | | | | Original commit message: Implement builtins for safe division: safe.sdiv.iN, safe.udiv.iN, safe.srem.iN, safe.urem.iN (iN = i8, i61, i32, or i64). llvm-svn: 206735
* [asan] insert __asan_loadN/__asan_storeN as out-lined asan checks, llvm partKostya Serebryany2014-04-211-3/+15
| | | | llvm-svn: 206734
* [asan] implement __asan_loadN/__asan_storeN for out-lined asan checksKostya Serebryany2014-04-212-3/+22
| | | | llvm-svn: 206733
* Implement builtins for safe division: safe.sdiv.iN, safe.udiv.iN, safe.srem.iN,Michael Zolotukhin2014-04-219-0/+837
| | | | | | safe.urem.iN (iN = i8, i16, i32, or i64). llvm-svn: 206732
* Added a basic connection test for lldb-gdbserver.Todd Fiala2014-04-212-0/+65
| | | | | | The lldb-gdbserver tests are skipped if the lldb-gdbserver exe cannot be found (currently only built for Linux and FreeBSD). The lldb-gdbserver exe is found by the LLDB_EXEC environment variable, using the same dir as the lldb exe, and then replacing lldb with lldb-gdbserver. llvm-svn: 206731
* [LCG] Add some basic debug output to the LCG pass.Chandler Carruth2014-04-211-2/+17
| | | | llvm-svn: 206730
* ARM64: Do not expand variadic HFA/HVA arguments with the Darwin ABI.Bob Wilson2014-04-212-6/+30
| | | | | | | | | | | Unlike the standard AAPCS64 ABI, variadic arguments are always passed on the stack with the Darwin ABI, and this was not being considered when deciding whether to expand HFA/HVA arguments in a call. An HFA argument with a "float" base type was being expanded into separate "float" arguments, each of which was then extended to a double, resulting in a serious mismatch from what is expected by the va_arg implementation. <rdar://problem/15777067> llvm-svn: 206729
* Fix a comment typo.Bob Wilson2014-04-211-1/+1
| | | | llvm-svn: 206728
* Protect the ArgList dtorDavid Blaikie2014-04-202-7/+6
| | | | | | | | | | | | | It could even be made non-virtual if it weren't for bad compiler warnings. This demonstrates that ArgList objects aren't destroyed polymorphically and possibly that they aren't even used polymorphically. If that's the case, it might be possible to refactor the two ArgList types more separately and simplify the Arg ownership model. *continues experimenting* llvm-svn: 206727
* Add missing #include found by modules build.Richard Smith2014-04-201-0/+2
| | | | llvm-svn: 206726
OpenPOWER on IntegriCloud