summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [PECOFF] Add a generic section writer.Rui Ueyama2013-11-2711-300/+322
| | | | | | | | | | | | | | | | Instead of having multiple SectionChunks for each section (.text, .data, .rdata and .bss), we could have one chunk writer that can emit any sections. This patch does that -- removing all section-sepcific chunk writers and replace them with one "generic" writer. This change should simplify the code because it eliminates similar-but- slightly-different classes. It also fixes an issue in the previous design. Before this patch, we could emit only limited set of sections (i.e. .text, .data, .rdata and .bss). With this patch, we can emit any sections. llvm-svn: 195797
* Remove _LIBCPP_TRIVIAL_PAIR_COPY_CTOR=0 for __APPLE__, no longer needed.Howard Hinnant2013-11-271-6/+0
| | | | llvm-svn: 195796
* Revert "WriterPECOFF"Rui Ueyama2013-11-2711-322/+300
| | | | | | This reverts accidental commit r195794. llvm-svn: 195795
* WriterPECOFFRui Ueyama2013-11-2711-300/+322
| | | | llvm-svn: 195794
* [PM] [cleanup] Replace a reserved identifier "_Self" with the injectedChandler Carruth2013-11-261-10/+8
| | | | | | | | class name. I think we're no longer using any compilers with sufficiently broken ICN for this use case, but I'll watch the bots and introduce a typedef without a reserved name if any yell at me. llvm-svn: 195793
* Remove unused entity from .td file.Richard Smith2013-11-261-2/+0
| | | | llvm-svn: 195792
* PR1860 - We can't save a list of ExtractElement instructions to CSE because ↵Nadav Rotem2013-11-262-17/+12
| | | | | | | | some of these instructions may be removed and optimized in future iterations. Instead we save a list of basic blocks that we need to CSE. llvm-svn: 195791
* 80-column fixups.Eric Christopher2013-11-263-3/+7
| | | | llvm-svn: 195790
* [AArch64] Add support for NEON scalar floating-point to integer convertChad Rosier2013-11-263-0/+214
| | | | | | instructions. llvm-svn: 195789
* [AArch64] Add support for NEON scalar floating-point to integer convertChad Rosier2013-11-266-1/+699
| | | | | | instructions. llvm-svn: 195788
* LoopVectorizer: Truncate i64 trip counts of i32 phis if necessaryArnold Schwaighofer2013-11-262-0/+48
| | | | | | | | | | | In signed arithmetic we could end up with an i64 trip count for an i32 phi. Because it is signed arithmetic we know that this is only defined if the i32 does not wrap. It is therefore safe to truncate the i64 trip count to a i32 value. Fixes PR18049. llvm-svn: 195787
* There were two identical files named 'min_allocator.h'. Move one of them to ↵Marshall Clow2013-11-26810-1060/+808
| | | | | | /support and delete the other. Then adjust all the tests that used them to include the moved one. No functionality change. llvm-svn: 195785
* [PM] [cleanup] Run clang-format over this file. If fixes manyChandler Carruth2013-11-261-25/+29
| | | | | | inconsistencies that I'll just need to fix myself as I edit things. llvm-svn: 195784
* [PM] [cleanup] Update doxygen comments to use the new style, add someChandler Carruth2013-11-261-39/+48
| | | | | | | | | | doxygen comments, make existing comments doxygen comments etc. Also, switch commented-out debug helpers to #if-0-ed out debug helpers. No functionality changed. llvm-svn: 195783
* [OCaml] Embed the flags necessary for linking with libLLVM.so into .cmxa filesPeter Zotov2013-11-261-0/+1
| | | | llvm-svn: 195782
* Fix a bug related to constant islands for Mips16 and mips16/32 dual mode.Reed Kotler2013-11-262-4/+7
| | | | | | | The determination of when we are doing constant pools was being made too early in the asm printer. llvm-svn: 195781
* Refactor some code in SampleProfile.cppDiego Novillo2013-11-261-99/+112
| | | | | | | | | | | | | | | I'm adding new functionality in the sample profiler. This will require more data to be kept around for each function, so I moved the structure SampleProfile that we keep for each function into a separate class. There are no functional changes in this patch. It simply provides a new home where to place all the new data that I need to propagate weights through edges. There are some other name and minor edits throughout. llvm-svn: 195780
* Fix PR18054Michael Liao2013-11-262-7/+25
| | | | | | | | - Fix bug in (vsext (vzext x)) -> (vsext x) in SIGN_EXTEND_IN_REG lowering where we need to check whether x is a vector type (in-reg type) of i8, i16 or i32; otherwise, that optimization is not valid. llvm-svn: 195779
* Add PostDominatorTree::getDescendants.Diego Novillo2013-11-262-2/+8
| | | | | | | | This patch adds the counter-part to DominatorTree::getDescendants. It also fixes a couple of comments I noticed out of date in the DominatorTree class. llvm-svn: 195778
* Thread safety analysis: fix ICE due to missing null check on dyn_cast.DeLesley Hutchins2013-11-262-6/+23
| | | | llvm-svn: 195777
* DwarfDebug: Include type units in accelerator tables.David Blaikie2013-11-263-29/+53
| | | | | | | Since type units aren't in the CUMap, use the DwarfUnits list to iterate over units for tasks such as accelerator table building. llvm-svn: 195776
* Fix spurious return introduced by my earlier patch to DebugInfoRenato Golin2013-11-261-1/+0
| | | | llvm-svn: 195775
* [PECOFF] Fix parameter mapping for /section.Rui Ueyama2013-11-262-29/+51
| | | | | | | The current mapping for /section one character options is really bogus. Map to the correct flags. llvm-svn: 195774
* PR18060 - When we RAUW values with ExtractElement instructions in some casesNadav Rotem2013-11-262-0/+55
| | | | | | | | we generate PHI nodes with multiple entries from the same basic block but with different values. Enabling CSE on ExtractElement instructions make sure that all of the RAUWed instructions are the same. llvm-svn: 195773
* Add return to DIType::VerifyRenato Golin2013-11-261-3/+3
| | | | | | | | Code scanner ran by Sylvestre Ledru got a no_return bug in DebugInfo.cpp. Adding the return statements that should be there. llvm-svn: 195772
* [Sanitizer] Improve external symbolizer behavior.Alexey Samsonov2013-11-263-56/+48
| | | | | | | | | 1) Don't start external symbolizer subprocess until we actually try to symbolize anything. 2) Allow to turn off external symbolizer by providing empty ?SAN_SYMBOLIZER_PATH environment variable. llvm-svn: 195771
* Replacing a custom diagnostic with a more standard one. No functional change ↵Aaron Ballman2013-11-263-6/+5
| | | | | | intended. llvm-svn: 195770
* PR17925 bugfix.Stepan Dyatkovskiy2013-11-265-40/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Short description. This issue is about case of treating pointers as integers. We treat pointers as different if they references different address space. At the same time, we treat pointers equal to integers (with machine address width). It was a point of false-positive. Consider next case on 32bit machine: void foo0(i32 addrespace(1)* %p) void foo1(i32 addrespace(2)* %p) void foo2(i32 %p) foo0 != foo1, while foo1 == foo2 and foo0 == foo2. As you can see it breaks transitivity. That means that result depends on order of how functions are presented in module. Next order causes merging of foo0 and foo1: foo2, foo0, foo1 First foo0 will be merged with foo2, foo0 will be erased. Second foo1 will be merged with foo2. Depending on order, things could be merged we don't expect to. The fix: Forbid to treat any pointer as integer, except for those, who belong to address space 0. llvm-svn: 195769
* Don't call getMostRecentDecl when we know we have it.Rafael Espindola2013-11-261-11/+22
| | | | | | On a Release build this takes the testcase in pr18055 from 0m3.892s to 0m1.452s. llvm-svn: 195768
* Move these virtual methods out of line.Rafael Espindola2013-11-262-15/+15
| | | | llvm-svn: 195767
* Fix MSVC buildColin Riley2013-11-264-7/+19
| | | | | | Added _WIN32 guards to new platform features. Using correct SetErrorStringWithFormat within Host when LLDB_DISABLE_POSIX is defined. Also fixed an if defined block. llvm-svn: 195766
* Rename DwarfException methods so the new names are consistent with ↵Timur Iskhodzhanov2013-11-266-50/+50
| | | | | | DwarfDebug and the style guide llvm-svn: 195763
* Changed non-printable characters in the test to the escaped form. ↵Alexander Kornienko2013-11-261-6/+6
| | | | | | Apparently, not all tools display non-printable characters ;) llvm-svn: 195761
* fix a typoGabor Greif2013-11-261-1/+1
| | | | llvm-svn: 195760
* Darwin-ARM: use movw/movt for static relocationsTim Northover2013-11-263-12/+8
| | | | llvm-svn: 195759
* [PM] Fix a stale comment after my last refactoring spoted by Joey inChandler Carruth2013-11-261-2/+2
| | | | | | review! llvm-svn: 195757
* [Mips] Pass -mmsa option to the assembler.Simon Atanasyan2013-11-262-0/+18
| | | | llvm-svn: 195756
* [Mips] Replace explicit argument handling by the single ↵Simon Atanasyan2013-11-261-7/+1
| | | | | | ArgList::AddLastArg() call. llvm-svn: 195755
* [Mips] Reduce number of FileCheck variables used in the tests.Simon Atanasyan2013-11-262-467/+467
| | | | llvm-svn: 195754
* [Mips] Add support for nan2008 libraries and headers look up for CodeSimon Atanasyan2013-11-2616-0/+58
| | | | | | Sourcery MIPS toolchain. llvm-svn: 195753
* [Mips] Merge two MIPS Code Sourcery toolchain tests into the single one.Simon Atanasyan2013-11-263-545/+448
| | | | llvm-svn: 195752
* [Mips] Do not detect a used MIPS toolchain. Build a path suffix for FSFSimon Atanasyan2013-11-262-51/+47
| | | | | | | toolchain first and check the path existence. If the path does not exist build and check a path suffix for Code Sourcery toolchain. llvm-svn: 195751
* [Mips] Call findMIPSABIDirSuffix() for MIPS targets only.Simon Atanasyan2013-11-261-4/+2
| | | | llvm-svn: 195750
* Implement a bunch of custom glibc wrappers & corresponding testsLorenzo Martignoni2013-11-264-88/+925
| | | | llvm-svn: 195749
* [PM] Remove four extraneous 'typename's that Clang (in C++11 mode) isChandler Carruth2013-11-261-4/+4
| | | | | | | | happy with but GCC complains about. I'm assuming both compilers are correct and these are optional in C++11 because I'm too tired to read the standard. ;] llvm-svn: 195748
* [PM] Factor the overwhelming majority of the interface boiler plate outChandler Carruth2013-11-262-166/+143
| | | | | | | | | | | | | | of the two analysis managers into a CRTP base class that can be shared and re-used in building any analysis manager. This will in turn simplify adding yet another analysis manager to the system. The base class provides all of the interface sugar for the analysis manager delegating the functionality back through DerivedT methods which operate on simple pass IDs. It also provides the pass registration, storage, and lookup system which is common across the various formulations of analysis managers. llvm-svn: 195747
* [SystemZ] Fix incorrect use of RISBG for a zero-extended right shiftRichard Sandiford2013-11-262-19/+22
| | | | | | | | | We would wrongly transform the testcase into the equivalent of an AND with 1. The problem was that, when testing whether the shifted-in bits of the right shift were significant, we used the width of the final zero-extended result rather than the width of the shifted value. llvm-svn: 195731
* Fix crash in getStringSplit.Alexander Kornienko2013-11-263-7/+19
| | | | | | | | | | | | | | | | Summary: getStringSplit used to crash, when trying to split a long string literal containing both printable and unprintable multi-byte UTF-8 characters. Reviewers: djasper, klimek Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D2268 llvm-svn: 195728
* CMake : optionaly enable LLVM to be compiled with -std=c++11 (default: off)Arnaud A. de Grandmaison2013-11-263-0/+8
| | | | | | | | | | In some case, it may be required to build LLVM in C++11 mode, as some the subprojects (like lldb) requires it. This mimics the autoconf behaviour. However, given the discussions on the switch to C++11 of the codebase, this behaviour should evolve to default to C++11 with some checks of the compiler capabilities. llvm-svn: 195727
* [ASan] Use ExitProcess rather than _exit on Windows to avoid calling global ↵Timur Iskhodzhanov2013-11-261-2/+2
| | | | | | dtors etc llvm-svn: 195723
OpenPOWER on IntegriCloud