summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Sema] Use range-based for loops. NFCCraig Topper2015-12-211-56/+39
| | | | llvm-svn: 256135
* [Cygwin] Enable TLS as emutls.NAKAMURA Takumi2015-12-216-5/+14
| | | | | | | | It resolves clang selfhosting with std::once() for Cygwin. FIXME: It may be EmulatedTLS-generic also for X86-Android. FIXME: Pass EmulatedTLS to LLVM CodeGen from Clang with -femulated-tls. llvm-svn: 256134
* check-clang-tools requires clang-headers due to test/clang-tidy.NAKAMURA Takumi2015-12-211-0/+3
| | | | | | clang-modernize provided clang-headers but it was removed. llvm-svn: 256133
* [RS4GC] Add an assert which fails if there is a (yet unsupported) addrspacecast.Manuel Jacob2015-12-211-0/+5
| | | | | | The slightly strange indentation comes from clang-format. llvm-svn: 256132
* [InstCombine] Fix indentation. NFC.Craig Topper2015-12-211-2/+2
| | | | llvm-svn: 256131
* [AVR] Added AVRCallingConv.tdDylan McKay2015-12-203-1/+67
| | | | llvm-svn: 256130
* [PGO] testing _WIN64 instead of _WIN32Xinliang David Li2015-12-201-5/+5
| | | | llvm-svn: 256129
* [PGO] Implement BOOL_CMPXCHG for WindowsXinliang David Li2015-12-201-0/+13
| | | | llvm-svn: 256128
* [X86] Use range-based for loop. NFCCraig Topper2015-12-201-3/+2
| | | | llvm-svn: 256127
* [X86] Prevent constant hoisting for a couple compare immediates that the ↵Craig Topper2015-12-202-1/+38
| | | | | | | | | | selection DAG knows how to optimize into a shift. This allows "icmp ugt %a, 4294967295" and "icmp uge %a, 4294967296" to be optimized into right shifts by 32 which can fold the immediate into the shift instruction. These patterns show up with some regularity in real code. Unfortunately, since getImmCost can't see the icmp predicate we can't be tell if we're only catching these specific cases. llvm-svn: 256126
* [FIX] Schedule generation for block exiting multiple loops.Johannes Doerfert2015-12-202-6/+71
| | | | | | This fixes bug PR25604. llvm-svn: 256125
* Compile fix: Use "&&" operator instead of "and"Michael Kruse2015-12-201-1/+1
| | | | llvm-svn: 256124
* ScopInfo: Bail out in case of complex branch structuresTobias Grosser2015-12-203-0/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scops that contain many complex branches are likely to result in complex domain conditions that consist of a large (> 100) number of conjucts. Transforming such domains is expensive and unlikely to result in efficient code. To avoid long compile times we detect this case and skip such scops. In the future we may improve this by either using non-affine subregions to hide such complex condition structures or by exploiting in certain cases properties (e.g., dominance) that allow us to construct the domains of a scop in a way that results in a smaller number improving conjuncts. Example of a code that results in complex iteration spaces: loop.header / | \ \ A0 A2 A4 \ \ / \ / \ A1 A3 \ / \ / \ | B0 B2 B4 | \ / \ / | B1 B3 ^ / \ / \ | C0 C2 C4 | \ / \ / / C1 C3 / \ / / loop backedge llvm-svn: 256123
* [X86] Add missing m64/int64 conversionsMichael Kuperstein2015-12-202-0/+14
| | | | | | | | Define the 64-bit equivalents of _m_to_int and _m_from_int. Differential Revision: http://reviews.llvm.org/D15572 llvm-svn: 256122
* [X86] Add signed aliases for popcnt intrinsicsMichael Kuperstein2015-12-202-2/+24
| | | | | | | | | The Intel manual documents both an unsigned form (_mm_popcnt_u32) and a signed form (_popcnt32) of the intrinsic. Add the missing signed form. Differential Revision: http://reviews.llvm.org/D15568 llvm-svn: 256121
* Add AVR.td and AVRRegisterInfo.tdDylan McKay2015-12-204-1/+783
| | | | | | | | | | | | | | | | | | | | | Summary: This adds the core AVR TableGen file, along with the register descriptions. Lines in AVR.td which require other TableGen files which haven't been committed yet are commented out. This is a fairly trivial patch, and should only require a quick review. I kept the line width smaller than 80 columns, but there are a few exceptions because I'm not sure how to split a string over several lines. Reviewers: stoklund Subscribers: dylanmckay, agnat Differential Revision: http://reviews.llvm.org/D14684 llvm-svn: 256120
* [ELF][MIPS] MIPS .reginfo sections handlingSimon Atanasyan2015-12-208-2/+125
| | | | | | | | | | | | | | | | | | | | | MIPS .reginfo section provides information on the registers used by the code in the object file. Linker should collect this information and write .reginfo section in the output file. This section contains a union of used registers masks taken from input .reginfo sections and final value of the `_gp` symbol. For details see the "Register Information" section in Chapter 4 in the following document: ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf The patch implements .reginfo sections handling with a couple missed features: a) it does not put output .reginfo section into the separate REGINFO segment; b) it does not merge `ri_cprmask` masks from input section. These features will be implemented later. Differential Revision: http://reviews.llvm.org/D15669 llvm-svn: 256119
* [llvm-objdump] Move COFF function to where it belongs.Davide Italiano2015-12-203-50/+51
| | | | | | | Ideally much more stuff should be moved out of llvm-objdump.cpp, but that will happen later. llvm-svn: 256118
* Fix a bug in test case -- duplicate entriesXinliang David Li2015-12-201-21/+0
| | | | llvm-svn: 256117
* Fix a latent UAF bug in profwriterXinliang David Li2015-12-201-0/+2
| | | | llvm-svn: 256116
* Fix mapping of @llvm.arm.ssat/usat intrinsics to ssat/usat instructions for ↵Weiming Zhao2015-12-206-13/+20
| | | | | | | | | | | | | | | | | Thumb2 Summary: r250697 fixed the mapping for ARM mode. We have to do the same for Thumb2 otherwise the same llvm.arm.ssat() will generate different saturating amount for ARM and Thumb. r250697: http://reviews.llvm.org/rL250697 Reviewers: rmaprath Subscribers: aemerson, llvm-commits, rengolin Differential Revision: http://reviews.llvm.org/D15653 llvm-svn: 256115
* [PGO] Improve Indexed Profile Reader efficiency Xinliang David Li2015-12-207-151/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With the support of value profiling added, the Indexed prof reader gets less efficient. The prof reader initialization used to be just reading the file header, but with VP support added, initialization needs to walk through all profile keys of ondisk hash table resulting in very poor locality and large memory increase (keys are stored together with the profile data in the mapped profile buffer). Even worse, when the reader is used by the compiler (not llvm-profdata too), the penalty becomes very high as compilation of each single module requires touching profile data buffer for the whole program. In this patch, the icall target values (MD5hash) are no longer eargerly converted back to name strings when the data is read into memory. New interface is added to to profile reader so that InstrProfSymtab can be lazily created for Indexed profile reader on-demand. Creating of the symtab is intended to be used by llvm-profdata tool for symbolic dumping of VP data. It can be used with compiler (for legacy out of tree uses) too but not recommended due to compile time and memory reasons mentioned above. Some other cleanups are also included: Function Addr to md5 map is now consolated into InstrProfSymtab. InstrProfStringtab is no longer used and eliminated. llvm-svn: 256114
* Minor clean up -- move large single use method out of header(NFC)Xinliang David Li2015-12-202-28/+32
| | | | llvm-svn: 256113
* Revert r219171, "llvm/test/lit.cfg: Suppress dwarf stuff for targeting ↵NAKAMURA Takumi2015-12-201-2/+1
| | | | | | | | x86_64-mingw32 while investigating since r219108." It has been fixed since r219280 by David Majnemer. llvm-svn: 256112
* ThreadPool unittests: do not hold mutex when calling condition_variable:notify()Mehdi Amini2015-12-191-11/+11
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 256111
* Nonnull elements in OperandBundleCallSites are not all InstructionsSanjoy Das2015-12-193-5/+40
| | | | | | | | | | `CloneAndPruneIntoFromInst` sometimes RAUW's dead instructions with `undef` before erasing them (to avoid deleting instructions that still have uses). This changes the `WeakVH` in `OperandBundleCallSites` to hold an `undef`, and we need to guard for this situation in eventuality in `llvm::InlineFunction`. llvm-svn: 256110
* [Deopt bundles] Fix a test caseSanjoy Das2015-12-191-1/+1
| | | | | | | The `CHECK-NOT` line was incorrect, and would not have caught a breakage. llvm-svn: 256109
* [llvm-objdump] Fail early if we can't parse the object header.Davide Italiano2015-12-191-4/+5
| | | | llvm-svn: 256108
* Delete APIs that have been deprecated since 2010.Rafael Espindola2015-12-193-66/+4
| | | | llvm-svn: 256107
* The PS4 baton passes.Paul Robinson2015-12-191-4/+4
| | | | llvm-svn: 256106
* Assert that we have all use/users in the getters.Rafael Espindola2015-12-197-23/+96
| | | | | | | | | | | | | | An error that is pretty easy to make is to use the lazy bitcode reader and then do something like if (V.use_empty()) The problem is that uses in unmaterialized functions are not accounted for. This patch adds asserts that all uses are known. llvm-svn: 256105
* Driver part of debugger tuning.Paul Robinson2015-12-197-42/+153
| | | | | | | | | | | | | | | | Adds driver options named -glldb and -gsce to mean -g plus tuning for lldb and SCE debuggers respectively; the existing -ggdb option does the same for gdb. Existing options -ggdb0, -ggdb1 etc. unpack into -ggdb -g<N>. (There will not be -glldb<N> or -gsce<N> options.) The tuning gets a target-specific default in the driver, and is passed into cc1 with the new -debugger-tuning option. As fallout, fixes where '-gsplit-dwarf -g0' would ignore the -g0 part on Linux. Differential Revision: http://reviews.llvm.org/D15651 llvm-svn: 256104
* [PGO] Fix build failure with MSVCXinliang David Li2015-12-191-10/+8
| | | | llvm-svn: 256103
* WebAssembly: add vtable testJF Bastien2015-12-191-0/+171
| | | | | | The test will mainly be useful to check that the .s file assembles and relocates properly because vtables reference functions in their data section. llvm-svn: 256102
* Remove unnecessary casts. NFC.Manuel Jacob2015-12-191-6/+5
| | | | llvm-svn: 256101
* Remove double blanks. NFC.Manuel Jacob2015-12-191-7/+7
| | | | llvm-svn: 256100
* Improve InstrProfSymtab test coverageXinliang David Li2015-12-191-0/+27
| | | | llvm-svn: 256099
* SelectionDAG: Cleanup integer bin op promotion functions.Matt Arsenault2015-12-192-34/+17
| | | | | | | SDIV and UDIV had special handling, but this is the same handling that min/max need. llvm-svn: 256098
* [unittests] ThreadPool: Remove redundant loop, NFCVedant Kumar2015-12-191-4/+2
| | | | llvm-svn: 256097
* [unittests] ThreadPool: Guard updates to MainThreadReadyVedant Kumar2015-12-191-12/+16
| | | | llvm-svn: 256096
* Re-reapply "[IR] Move optional data in llvm::Function into a hungoff uselist"Vedant Kumar2015-12-198-168/+92
| | | | | | | | | | | | | | | | | Make personality functions, prefix data, and prologue data hungoff operands of Function. This is based on the email thread "[RFC] Clean up the way we store optional Function data" on llvm-dev. Thanks to sanjoyd, majnemer, rnk, loladiro, and dexonsmith for feedback! Includes a fix to scrub value subclass data in dropAllReferences. Does not use binary literals. Differential Revision: http://reviews.llvm.org/D13829 llvm-svn: 256095
* Revert "Reapply "[IR] Move optional data in llvm::Function into a hungoff ↵Vedant Kumar2015-12-198-92/+168
| | | | | | | | | | uselist"" This reverts commit r256093. This broke lld-x86_64-win7 because of -Werror,-Wc++1y-extensions. llvm-svn: 256094
* Reapply "[IR] Move optional data in llvm::Function into a hungoff uselist"Vedant Kumar2015-12-198-168/+92
| | | | | | | | | | | | | | | | Make personality functions, prefix data, and prologue data hungoff operands of Function. This is based on the email thread "[RFC] Clean up the way we store optional Function data" on llvm-dev. Thanks to sanjoyd, majnemer, rnk, loladiro, and dexonsmith for feedback! Includes a fix to scrub value subclass data in dropAllReferences. Differential Revision: http://reviews.llvm.org/D13829 llvm-svn: 256093
* [PGO] Add hash to name mapping in InstrProfSymtabXinliang David Li2015-12-192-4/+66
| | | | | | | | | Creator and lookup interfaces are added to this symtab class. The new interfaces will be used by InstrProf Readers and writer. A unit test is also added for the new APIs. llvm-svn: 256092
* Revert "[IR] Move optional data in llvm::Function into a hungoff uselist"Vedant Kumar2015-12-198-91/+168
| | | | | | | | This reverts commit r256090. This broke llvm-clang-lld-x86_64-debian-fast. llvm-svn: 256091
* [IR] Move optional data in llvm::Function into a hungoff uselistVedant Kumar2015-12-198-168/+91
| | | | | | | | | | | | | | Make personality functions, prefix data, and prologue data hungoff operands of Function. This is based on the email thread "[RFC] Clean up the way we store optional Function data" on llvm-dev. Thanks to sanjoyd, majnemer, rnk, loladiro, and dexonsmith for feedback! Differential Revision: http://reviews.llvm.org/D13829 llvm-svn: 256090
* [ELF] Allow target to configure ELF header flags in the output fileSimon Atanasyan2015-12-194-3/+51
| | | | | | | | | | The patch configure ELF header flags for MIPS target. For now the flags are hard coded. In fact they depends on ELF flags of input object files and selected emulation. Differential Revision: http://reviews.llvm.org/D15575 llvm-svn: 256089
* Revert "[CMake] Support a simple case for bootstrap builds to generate PGO data"Chris Bieneman2015-12-194-62/+8
| | | | | | | This reverts commit r256069, which was an unintentional tag along on another commit. llvm-svn: 256088
* ThreadPool unittest: reimplement concurrency test, deterministically this time.Mehdi Amini2015-12-191-5/+36
| | | | | | | Follow-up to r256056. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 256087
* [libFuzzer] deprecate -save_minimized_corpus, -merge can be used insteadKostya Serebryany2015-12-193-8/+7
| | | | llvm-svn: 256086
OpenPOWER on IntegriCloud