summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Resubmitting r238459 and r238460 with fix for Linux.Chaoren Lin2015-05-286-4993/+5127
| | | | llvm-svn: 238499
* [omp] Fix a typo in a comment and a line I forgot to clang-format thatChandler Carruth2015-05-281-2/+3
| | | | | | Justin pointed out in post-commit review. llvm-svn: 238498
* Revert "Move inlined cxa_demangle.cpp to a separate file."Ying Chen2015-05-285-5027/+4953
| | | | | | This reverts commit 8cb47a2140f3e93a34597fc9f11c8cd96130076d. llvm-svn: 238497
* Revert "Allow both MSVC and Itanium mangling schemes."Ying Chen2015-05-283-118/+64
| | | | | | | | Cause build break. This reverts commit 6d986061393f2863fec739e04412281148acc1f3. llvm-svn: 238496
* Skip ThreadStateTestCase.test_state_after_continue_with_dwarf on DarwinYing Chen2015-05-281-0/+6
| | | | | | | | | | | | | | | | Summary: - This test cause Python crash randomly on darwin builder - Tracked by bug 'llvm.org/pr23669' Test Plan: ./dotest.py -m --executable /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/lldb --framework /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/LLDB.framework -A x86_64 -C clang -p TestThreadStates.py Reviewers: chaoren, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10053 llvm-svn: 238495
* [llvm] Adding vdtor to fix warning.Colin LeMahieu2015-05-281-0/+1
| | | | llvm-svn: 238494
* Fix the Xcode build after the recent new demangling files were added.Greg Clayton2015-05-281-0/+8
| | | | llvm-svn: 238493
* Inline trivial method. NFC.Rafael Espindola2015-05-281-14/+2
| | | | llvm-svn: 238492
* Revert "Refactoring cl::list_storage from "is a" to "has a" std::vector."Chris Bieneman2015-05-281-52/+7
| | | | | | This reverts commit 117715ca0613d3db144241499401f2ec5398f1d5. llvm-svn: 238491
* Disable x86 tail call optimizations that jump through GOTReid Kleckner2015-05-285-9/+115
| | | | | | | | | | | | | | | | | | | | For x86 targets, do not do sibling call optimization when materializing the callee's address would require a GOT relocation. We can still do tail calls to internal functions, hidden functions, and protected functions, because they do not require this kind of relocation. It is still possible to get GOT relocations when the user explicitly asks for it with musttail or -tailcallopt, both of which are supposed to guarantee TCO. Based on a patch by Chih-hung Hsieh. Reviewers: srhines, timmurray, danalbert, enh, void, nadav, rnk Subscribers: joerg, davidxl, llvm-commits Differential Revision: http://reviews.llvm.org/D9799 llvm-svn: 238487
* COFF: Return an error_code directly.Rui Ueyama2015-05-281-3/+1
| | | | llvm-svn: 238486
* Refactoring cl::list_storage from "is a" to "has a" std::vector.Chris Bieneman2015-05-281-7/+52
| | | | | | | | | | | | | | Summary: This isn't necessarily an ideal change, and I want to at least reduce the API surface area, but for the new API we really shouldn't be relying on cl::list being a std::vector. Reviewers: chandlerc Reviewed By: chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10093 llvm-svn: 238485
* [asan] Add new(unsigned int) to ASan interface list.Evgeniy Stepanov2015-05-281-5/+12
| | | | | | | | | Also, sized-delete with size_t == unsigned int. These guys appear when building for Android with gnu-stl. Fixes a number of ASan tests in that particular configuration. llvm-svn: 238484
* Revert r238427 - [mips] Make TTypeEncoding indirect to allow .eh_frame to be ↵Daniel Sanders2015-05-282-29/+10
| | | | | | | | read-only. It caused a smaller number of failures than the previous attempt at committing but still caused a couple on the llvm-linux-mips builder. Reverting while I investigate the remainder. llvm-svn: 238483
* COFF: Split Driver.cpp to Driver.cpp and DriverUtils.cpp. NFC.Rui Ueyama2015-05-284-123/+170
| | | | | | | | The previous implementation's driver file is cluttered by lots of small functions, and it was hard to find important functions. Make a separate file to prevent that issue. llvm-svn: 238482
* Object, ELF: Use error code instead of calling report_fatal_error()Alexey Samsonov2015-05-283-33/+57
| | | | | | | Make createELFObjectFile() return object_error::parse_failed on encountering invalid ELF file, instead of crashing the program. llvm-svn: 238481
* Remove structure field that can be computed just before use.Rafael Espindola2015-05-281-14/+15
| | | | llvm-svn: 238480
* Avoid warnings when building without asserts.Rafael Espindola2015-05-281-7/+2
| | | | llvm-svn: 238479
* Rename InputFile::Name -> InputFile::Filename.Rui Ueyama2015-05-282-12/+12
| | | | | | | Other local variables shadowed the member variable. Rename to make that a bit longer. llvm-svn: 238478
* Move these vectors to the only function where they are used.Rafael Espindola2015-05-281-6/+4
| | | | llvm-svn: 238477
* If we see an external function in the symbols, makeSean Callanan2015-05-283-29/+21
| | | | | | | | | | it an extern "C" function instead of a C++ function so that Clang doesn't emit a mangled function reference. Also removed the hack in ClangExpressionDeclMap that works around this. llvm-svn: 238476
* Don't crash if we don't have a process and needSean Callanan2015-05-281-10/+13
| | | | | | to check for alternate manglings. llvm-svn: 238475
* Fix non-debug build.Rui Ueyama2015-05-281-1/+2
| | | | llvm-svn: 238474
* Thumb2: Modify codegen for memcpy intrinsic to prefer LDM/STM.Peter Collingbourne2015-05-288-40/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were previously codegen'ing these as regular load/store operations and hoping that the register allocator would allocate registers in ascending order so that we could apply an LDM/STM combine after register allocation. According to the commit that first introduced this code (r37179), we planned to teach the register allocator to allocate the registers in ascending order. This never got implemented, and up to now we've been stuck with very poor codegen. A much simpler approach for achiveing better codegen is to create LDM/STM instructions with identical sets of virtual registers, let the register allocator pick arbitrary registers and order register lists when printing an MCInst. This approach also avoids the need to repeatedly calculate offsets which ultimately ought to be eliminated pre-RA in order to decrease register pressure. This is implemented by lowering the memcpy intrinsic to a series of SD-only MCOPY pseudo-instructions which performs a memory copy using a given number of registers. During SD->MI lowering, we lower MCOPY to LDM/STM. This is a little unusual, but it avoids the need to encode register lists in the SD, and we can take advantage of SD use lists to decide whether to use the _UPD variant of the instructions. Fixes PR9199. Differential Revision: http://reviews.llvm.org/D9508 llvm-svn: 238473
* [WinEH] Remove debugging dump() callReid Kleckner2015-05-281-1/+0
| | | | llvm-svn: 238472
* Merge redundant loops. NFC.Rafael Espindola2015-05-281-18/+11
| | | | llvm-svn: 238471
* Remove unused #includes of ScriptInterpreterPython.hZachary Turner2015-05-288-13/+2
| | | | llvm-svn: 238470
* Including <thread> with MSVC is buggy, use a workaround here.Zachary Turner2015-05-281-0/+6
| | | | llvm-svn: 238469
* AsmPrinter: Stop exposing underlying DIE children list, NFCDuncan P. N. Exon Smith2015-05-285-10/+11
| | | | | | | Update `DIE` API to hide the implementation of `DIE::Children` so we can swap it out. llvm-svn: 238468
* Refactor test runner to print sub-test-case pass/fail rate.Zachary Turner2015-05-284-40/+67
| | | | llvm-svn: 238467
* [Format] Skip creating temporary std::strings when filling another string.Benjamin Kramer2015-05-281-6/+6
| | | | | | No functional change intended. llvm-svn: 238466
* Simplify LastLocalSymbolIndex computation. NFC.Rafael Espindola2015-05-281-4/+2
| | | | llvm-svn: 238465
* COFF: Teach Chunk to write to a mmap'ed output file.Rui Ueyama2015-05-283-28/+31
| | | | | | | | | | | | | | Previously Writer directly handles writes to a file. Chunks needed to give Writer a continuous chunk of memory. That was inefficent if you construct data in chunks because it would require two memory copies (one to construct a chunk and the other is to write that to a file). This patch teaches chunk to write directly to a file. From readability point of view, this is also good because you no longer have to call hasData() before calling getData(). llvm-svn: 238464
* Use range loops. NFC.Rafael Espindola2015-05-281-7/+3
| | | | llvm-svn: 238463
* Add BranchProbabilityInfo::releaseMemory to clear the Weights field.Pete Cooper2015-05-282-0/+7
| | | | | | | | BranchProbabilityInfo was leaking 3MB of memory when running 'opt -O2 verify-uselistorder.lto.bc'. This was due to the Weights member not being cleared once the pass is no longer needed. This adds the releaseMemory override to clear that field. The other fields are cleared at the end of runOnFunction so can stay there. llvm-svn: 238462
* Remove temporary FileSymbolData. NFC.Rafael Espindola2015-05-281-12/+8
| | | | llvm-svn: 238461
* Allow both MSVC and Itanium mangling schemes.Chaoren Lin2015-05-283-64/+118
| | | | | | | | | | | | | | | | | | | Summary: LLDB on Windows should now be able to demangle Linux/Android symbols. Also updated CxaDemangle.cpp to be compatible with MSVC. Depends on D9949, D9954, D10048. Reviewers: zturner, emaste, clayborg Reviewed By: clayborg Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10040 llvm-svn: 238460
* Move inlined cxa_demangle.cpp to a separate file.Chaoren Lin2015-05-285-4953/+5027
| | | | | | | | | | | | | | Summary: In preparation for some changes to make this compatible with MSVC. Reviewers: emaste, zturner, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9949 llvm-svn: 238459
* COFF: Add a new PE/COFF port.Rui Ueyama2015-05-2828-0/+2720
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an initial patch for a section-based COFF linker. The patch has 2300 lines of code including comments and blank lines. Before diving into details, you want to start from reading README because it should give you an overview of the design. All important things are written in the README file, so I write summary here. - The linker is already able to self-link on Windows. - It's significantly faster than the existing implementation. The existing one takes 5 seconds to link LLD on my machine, while the new one only takes 1.2 seconds, even though the new one is not multi-threaded yet. (And a proof-of-concept multi- threaded version was able to link it in 0.5 seconds.) - It uses much less memory (250MB vs. 2GB virtual memory space to self-host). - IMHO the new code is much simpler and easier to read than the existing PE/COFF port. http://reviews.llvm.org/D10036 llvm-svn: 238458
* [Objdump] Allow instruction pretty printing to be specialized by the target ↵Colin LeMahieu2015-05-281-6/+28
| | | | | | | | triple. Differential Revision: http://reviews.llvm.org/D8427 llvm-svn: 238457
* AsmPrinter: Rename begin_values() => values_begin(), NFCDuncan P. N. Exon Smith2015-05-283-14/+14
| | | | llvm-svn: 238456
* [CodeGen] Update a test-case affected by folding IntToPtr/PtrToInt into LoadsDavid Majnemer2015-05-281-7/+10
| | | | | | | | | | | Folding IntToPtr or PtrToInt into Loads, due to r238452, perturbs the mips-varargs test-case. Patch by Philip Pfaffe! Differential Revision: http://reviews.llvm.org/D9153 llvm-svn: 238455
* XTIMEOUT new TestChangeProcessGroup.py on FreeBSDEd Maste2015-05-281-0/+1
| | | | llvm-svn: 238454
* [llvm] Parameterizing the output stream for dumpbytes and outputting ↵Colin LeMahieu2015-05-285-23/+22
| | | | | | directly to stream. llvm-svn: 238453
* [InstCombine] Fold IntToPtr and PtrToInt into preceding loads.David Majnemer2015-05-283-5/+167
| | | | | | | | | | | Currently we only fold a BitCast into a Load when the BitCast is its only user. Do the same for any no-op cast. Differential Revision: http://reviews.llvm.org/D9152 llvm-svn: 238452
* Add llvm-dwarfdump-fuzzer that uses LibFuzzer to fuzz llvm-dwarfdump tool.Alexey Samsonov2015-05-283-0/+52
| | | | | | | | The fuzzer is very simple, but not quite useful at the moment: it's unable to discover "interesting" examples, as LLVMObject library is terrible at error recovery, calling "report_fatal_error()" far too often. llvm-svn: 238451
* Add support for the convergent flag at the MC and MachineInstr levels.Owen Anderson2015-05-286-32/+51
| | | | llvm-svn: 238450
* Reuse Loc variable. NFC.Chad Rosier2015-05-281-1/+1
| | | | llvm-svn: 238448
* AsmPrinter: Suppress warnings on GCC from r238362, NFCDuncan P. N. Exon Smith2015-05-281-8/+8
| | | | | | | | | | | GCC seems to have some overzealous warnings about strict aliasing. Rafael reports that this patch suppresses them on GCC 4.9, and I'm hoping this will work for GCC 4.7 as well. I'll watch [1] and iterate if necessary. [1]: http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/8597 llvm-svn: 238447
* Use range loops for accessing file names. NFC.Rafael Espindola2015-05-283-21/+13
| | | | llvm-svn: 238446
OpenPOWER on IntegriCloud