summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* | -> ||Richard Trieu2014-09-171-1/+1
| | | | | | No functional change. llvm-svn: 217934
* Fix identify_magic() with mach-o stub dylibs.Nick Kledzik2014-09-172-1/+4
| | | | | | The wrong value was returned and the unittest did not cover the stub dylib case. llvm-svn: 217933
* [mach-o] update test case to match new llvm-objdump outputNick Kledzik2014-09-171-3/+3
| | | | llvm-svn: 217932
* Build lldb-mi on all platforms with Makefile buildsEd Maste2014-09-171-3/+0
| | | | | | CMake builds already do so. llvm-svn: 217931
* [llvm-objdump] properly use c_str() with format("%s"). Improve ↵Nick Kledzik2014-09-174-18/+13
| | | | | | getLibraryShortNameByIndex() error handling. llvm-svn: 217930
* tsan: fix crash when a program registers zillions of atexit callbacksDmitry Vyukov2014-09-174-17/+30
| | | | | | | | | | I don't remember that crash on mmap in internal allocator ever yielded anything useful, only crashes in rare wierd untested situations. One of the reasons for crash was to catch if tsan starts allocating clocks using mmap. Tsan does not allocate clocks using internal_alloc anymore. Solve it once and for all by allowing mmaps. llvm-svn: 217929
* [X86] Use the generic AtomicExpandPass instead of X86AtomicExpandPassRobin Morisset2014-09-1712-342/+215
| | | | | | | | | | | | This required a new hook called hasLoadLinkedStoreConditional to know whether to expand atomics to LL/SC (ARM, AArch64, in a future patch Power) or to CmpXchg (X86). Apart from that, the new code in AtomicExpandPass is mostly moved from X86AtomicExpandPass. The main result of this patch is to get rid of that pass, which had lots of code duplicated with AtomicExpandPass. llvm-svn: 217928
* More categories could be added, and having an explicit list in this test ↵Enrico Granata2014-09-161-10/+1
| | | | | | case is a fairly bullet-proof recipe for disaster. Use the * enabling feature to workaround this. Fixes rdar://18358649 llvm-svn: 217927
* [CodeGenPrepare][AddressingModeMatcher] The promotion mechanism was expectingQuentin Colombet2014-09-162-45/+77
| | | | | | instructions when truncate, sext, or zext were created. Fix that. llvm-svn: 217926
* R600: Map Address spaces for atomic_cmpxchgAaron Watry2014-09-161-0/+19
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217925
* R600: Map address spaces for atomic_xchgAaron Watry2014-09-161-0/+1
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217924
* R600: Map address spaces for atomic_minAaron Watry2014-09-161-0/+10
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217923
* R600: Map address spaces for atomic_xorAaron Watry2014-09-161-0/+1
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217922
* R600: Map addr spaces and use atomic_maxAaron Watry2014-09-161-5/+16
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217921
* R600: Map address spaces for atomic_orAaron Watry2014-09-161-0/+1
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217920
* R600: Map atomic_and address spacesAaron Watry2014-09-161-0/+1
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217919
* atomic: Add generic atom[ic]_cmpxchgAaron Watry2014-09-168-0/+56
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217918
* atomic: Implement generic atom[ic]_xchgAaron Watry2014-09-169-0/+54
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217917
* atomic: Add generic atomic_min implementationAaron Watry2014-09-168-0/+54
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217916
* atomic: Add generic atom[ic]_xorAaron Watry2014-09-168-0/+43
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217915
* atomic: Add atom[ic]_orAaron Watry2014-09-168-0/+41
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217914
* atomics: Add generic atom[ic]_andAaron Watry2014-09-168-0/+42
| | | | | | | | Not used yet. Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217913
* atomic: Add generic implementation of atom[ic]_maxAaron Watry2014-09-168-0/+58
| | | | | | | | | | Not used yet... v2: Correct int/uint behavior Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217912
* atomic: define extension functions for existing atomic implementationsAaron Watry2014-09-1610-0/+54
| | | | | | | | We were missing the local versions of the atom_* before Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 217911
* Don't try to devirtualize non-virtual callsReid Kleckner2014-09-162-0/+51
| | | | | | | | | | | We would end up marking the vtable of the derived class as used for no reason. Because the call itself is qualified, it is never virtual, and the vtable of the derived class isn't helpful. We would end up rejecting code that MSVC accepts for no benefit. See http://crbug.com/413478 llvm-svn: 217910
* [llvm-objdump] improve error reporting of bad mach-o ordinalsNick Kledzik2014-09-161-2/+8
| | | | llvm-svn: 217909
* tsan: support longjmp out of signal handlersDmitry Vyukov2014-09-163-0/+78
| | | | | | Fixes https://code.google.com/p/thread-sanitizer/issues/detail?id=75 llvm-svn: 217908
* This add a reset method for WinCOFFObjectWriter, like other MC* classes.Yaron Keren2014-09-161-0/+16
| | | | llvm-svn: 217907
* tweak test case for debugging botNick Kledzik2014-09-161-3/+3
| | | | llvm-svn: 217906
* Fixed an issue where the last N load commands in the mach-o core file would ↵Greg Clayton2014-09-161-0/+1
| | | | | | | | | | not be read in where N was the number of LC_THREAD load commands. I now properly increment the ncmds for each LC_THREAD and now core files are saved correctly. <rdar://problem/18312703> llvm-svn: 217905
* [sanitizer] Fix global constructor warning in sanitizer; patch by Samuel F ↵Kostya Serebryany2014-09-162-2/+2
| | | | | | Antao llvm-svn: 217904
* Fix for mismatch to handle evil iterators which overload operator commaMarshall Clow2014-09-161-2/+2
| | | | llvm-svn: 217903
* Create a 'comma_iterator' class that overloads operator, and asserts when ↵Marshall Clow2014-09-163-0/+121
| | | | | | it's called. Add tests to mismatch to make sure it can't be blindsided by such an evil iterator. More tests for other algorithms forthcoming. Thanks to STL for pointing this out at CppCon and Yakov Galka for opening LWG issue #2133 llvm-svn: 217902
* Implement floatsitf, floatunstfsi, which performJoerg Sonnenberger2014-09-164-0/+205
| | | | | | | | | | (signed/unsigned)integer to quad-precision conversion. Submitted by GuanHong Liu. Differential Revision: http://reviews.llvm.org/D2805 llvm-svn: 217901
* Unused functions break the -Werror build. Revert for now.Enrico Granata2014-09-161-9/+0
| | | | llvm-svn: 217900
* Add back a fallback case for targets that do not or cannot implement ↵Owen Anderson2014-09-161-1/+5
| | | | | | getNoopForMachoTarget(). llvm-svn: 217899
* [mach-o] Fix two-level namespace ordinalsNick Kledzik2014-09-162-11/+108
| | | | | | | | | On darwin, the linker tools records which dylib (DSO) each undefined was found in, and then at runtime, the loader (dyld) only looks in that one specific dylib for each undefined symbol. Now that llvm-objdump can display that info I can write test cases. llvm-svn: 217898
* Don't try to use C5/D5 comdats in COFF.Rafael Espindola2014-09-162-2/+11
| | | | | | This should fix the mingw bootstrap. llvm-svn: 217897
* Fix forwarding -l to MSVC's link.exeReid Kleckner2014-09-162-7/+27
| | | | | | | | | | | Translate -lfoo to -lfoo.lib while making sure that -lfoo.lib stays as -lfoo.lib. Also, these arguments were being passed twice: once explicitly via AddAllArgs, and again implicitly as linker inputs. Now they are passed once. Fixes PR20868. llvm-svn: 217895
* Fix a bug in the move-assigment operator for basic_stringbuf. Thanks to ↵Marshall Clow2014-09-162-0/+41
| | | | | | Johnathan Wakeley for the bug report llvm-svn: 217894
* Hookup the MCSymbolizer to llvm-objdump’s disassembly for Mach-O files.Kevin Enderby2014-09-163-1/+197
| | | | | | | | | | | | | | First step done in this commit is to get flush out enough of the SymbolizerGetOpInfo() routine to symbolic an X86_64 hello world .o and its loading of the literal string and call to printf. Also the code to symbolicate the X86_64_RELOC_SUBTRACTOR relocation and a test is also added to show a slightly more complicated case. Next will be to flush out enough of SymbolizerSymbolLookUp() to get the literal string “Hello world” printed as a comment on the instruction that load the pointer to it. llvm-svn: 217893
* Fix typoMatt Arsenault2014-09-161-1/+1
| | | | llvm-svn: 217892
* Add a convenience function to FormatManager to setup an empty filter (one ↵Enrico Granata2014-09-161-0/+9
| | | | | | that suppresses all children, that is) llvm-svn: 217891
* [clang-tidy] When emitting header guard fixes bundle all fix-its into oneBenjamin Kramer2014-09-162-28/+48
| | | | | | | | | warning. Before we would emit two warnings if the header guard was wrong and the comment on a trailing #endif also needed fixing. llvm-svn: 217890
* Add a missing return to operator=Reid Kleckner2014-09-161-0/+1
| | | | llvm-svn: 217889
* Change the ClangASTMap implementation to use a thread-safe wrapper over ↵Enrico Granata2014-09-163-6/+79
| | | | | | llvm::DenseMap. This helps avoid a certain class of spins per <rdar://problem/18160764> llvm-svn: 217888
* Fix move-only type issues in Interpreter with MSVCReid Kleckner2014-09-161-12/+24
| | | | | | | | | MSVC 2012 cannot infer any move special members, but it will call them if available. MSVC 2013 cannot infer move assignment. Therefore, explicitly implement the special members for the ExecutionContext class and its contained types. llvm-svn: 217887
* [TableGen] Fully resolve class-instance values before defs in multiclassesAdam Nemet2014-09-163-3/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By class-instance values I mean 'Class<Arg>' in 'Class<Arg>.Field' or in 'Other<Class<Arg>>' (syntactically s SimpleValue). This is to differentiate from unnamed/anonymous record definitions (syntactically an ObjectBody) which are not affected by this change. Consider the testcase: class Struct<int i> { int I = !shl(i, 1); int J = !shl(I, 1); } class Class<Struct s> { int Class_J = s.J; } multiclass MultiClass<int i> { def Def : Class<Struct<i>>; } defm Defm : MultiClass<2>; Before this fix, DefmDef.Class_J yields !shl(I, 1) instead of 8. This is the sequence of events. We start with this: multiclass MultiClass<int i> { def Def : Class<Struct<i>>; } During ParseDef the anonymous object for the class-instance value is created: multiclass Multiclass<int i> { def anonymous_0 : Struct<i>; def Def : Class<NAME#anonymous_0>; } Then class Struct<i> is added to anonymous_0. Also Class<NAME#anonymous_0> is added to Def: multiclass Multiclass<int i> { def anonymous_0 { int I = !shl(i, 1); int J = !shl(I, 1); } def Def { int Class_J = NAME#anonymous_0.J; } } So far so good but then we move on to instantiating this in the defm by substituting the template arg 'i'. This is how the anonymous prototype looks after fully instantiating. defm Defm = { def Defmanonymous_0 { int I = 4; int J = !shl(I, 1); } Note that we only resolved the reference to the template arg. The non-template-arg reference in 'J' has not been resolved yet. Then we go on to instantiating the Def prototype: def DefmDef { int Class_J = NAME#anonymous_0.J; } Which is resolved to Defmanonymous_0.J and then to !shl(I, 1). When we fully resolve each record in a defm, Defmanonymous_0.J does get set to 8 but that's too late for its use. The patch adds a new attribute to the Record class that indicates that this def is actually a class-instance value that may be *used* by other defs in a multiclass. (This is unlike regular defs which don't reference each other and thus can be resolved indepedently.) They are then fully resolved before the other defs while the multiclass is instantiated. I added vg_leak to the new test. I am not sure if this is necessary but I don't think I have a way to test it. I can also check in without the XFAIL and let the bots test this part. Also tested that X86.td.expanded and AAarch64.td.expanded were unchange before and after this change. (This issue triggering this problem is a WIP patch.) Part of <rdar://problem/17688758> llvm-svn: 217886
* [X86] Improve commentAdam Nemet2014-09-161-3/+4
| | | | llvm-svn: 217885
* Thanks to K-ballo for noting a second incorrect noexcept clause in tuple - ↵Marshall Clow2014-09-161-3/+3
| | | | | | and suggesting a more correct way to write the first llvm-svn: 217884
OpenPOWER on IntegriCloud