summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* PR16995: DebugInfo: Don't overwrite existing member lists when adding ↵David Blaikie2013-08-281-1/+18
| | | | | | | | | template arguments With the added debug assertions this fix is covered by existing Clang tests. (& found some other issues, also fixed) llvm-svn: 189495
* cmake: Prevent semicolon separated lists in llvm-config (PR17020)Hans Wennborg2013-08-281-1/+2
| | | | llvm-svn: 189491
* [ARMv8]Joey Gouly2013-08-284-14/+50
| | | | | | | | | | | Fix a few things in one swoop. # Add some negative tests. # Fix some formatting issues. # Add some missing IsThumb / ARMv8 # Fix some outs / ins mistakes. llvm-svn: 189490
* Add a minimal implementation of ranlib.Rafael Espindola2013-08-284-13/+65
| | | | | | | | | | | | This is just enough to get "llvm-ranlib foo.a" working and tested. Making llvm-ranlib a symbolic link to llvm-ar doesn't work so well with llvm's option parsing, but ar's option parsing is mostly custom anyway. This patch also removes the -X32_64 option. Looks like it was just added in r10297 as part of implementing the current command line parsing. I can add it back (with a test) if someone really has AIX portability problems without it. llvm-svn: 189489
* ARM: Use "dmb sy" for barriers on M-class CPUsTim Northover2013-08-282-2/+5
| | | | | | | | The usual default of "dmb ish" (inner-shareable) isn't even a valid instruction on v6M or v7M (well, it does the same thing but software is strongly discouraged from using it) so we should emit a full-system barrier there. llvm-svn: 189483
* [ARMv8] Add a missing IsThumb to t2LDAEXD.Joey Gouly2013-08-281-1/+1
| | | | llvm-svn: 189482
* ARM: remove unused v(add|sub)hn and vqdml[as]l intrinsics.Tim Northover2013-08-285-158/+6
| | | | | | | Clang is now generating cleaner IR, so this removes the old variants which should be completely unused. llvm-svn: 189481
* ARM: add patterns for vqdmlal with separate vqdmull and vqaddsTim Northover2013-08-282-0/+128
| | | | | | | | | The vqdmlal and vqdmlls instructions are really just a fused pair consisting of a vqdmull.sN and a vqadd.sN. This adds patterns to LLVM so that we can switch Clang's CodeGen over to generating these instead of the special vqdmlal intrinsics. llvm-svn: 189480
* [mips][msa] Added bnz.df, bnz.v, bz.df, and bz.vDaniel Sanders2013-08-289-2/+383
| | | | | | | | | | | | | These intrinsics are legalized to V(ALL|ANY)_(NON)?ZERO nodes, are matched as SN?Z_[BHWDV]_PSEUDO pseudo's, and emitted as a branch/mov sequence to evaluate to 0 or 1. Note: The resulting code is sub-optimal since it doesnt seem to be possible to feed the result of an intrinsic directly into a brcond. At the moment it uses (SETCC (VALL_ZERO $ws), 0, SETEQ) and similar which unnecessarily evaluates the boolean twice. llvm-svn: 189478
* [mips][msa] Added load/store intrinsics.Daniel Sanders2013-08-2811-21/+532
| | | | llvm-svn: 189476
* 80 colsAlexey Samsonov2013-08-281-3/+4
| | | | llvm-svn: 189473
* AVX-512: added SQRT, VRSQRT14, VCOMISS, VUCOMISS, VRCP14, VPABSElena Demikhovsky2013-08-285-23/+618
| | | | llvm-svn: 189472
* [mips][msa] Added move.vDaniel Sanders2013-08-284-0/+55
| | | | llvm-svn: 189471
* [SystemZ] Add support for TMHH, TMHL, TMLH and TMLLRichard Sandiford2013-08-2811-12/+490
| | | | | | | | | For now just handles simple comparisons of an ANDed value with zero. The CC value provides enough information to do any comparison for a 2-bit mask, and some nonzero comparisons with more populated masks, but that's all future work. llvm-svn: 189469
* [mips][msa] Added cfcmsa, and ctcmsaDaniel Sanders2013-08-289-0/+279
| | | | | | | | The MSA control registers have been added as reserved registers, and are only used via ISD::Copy(To|From)Reg. The intrinsics are lowered into these nodes. llvm-svn: 189468
* [mips][msa] Added f[cs]af, f[cs]or, f[cs]ueq, f[cs]ul[et], f[cs]une, fsun, ↵Daniel Sanders2013-08-286-14/+1442
| | | | | | ftrunc_[su], hadd_[su], hsub_[su], sr[al]r, sr[al]ri llvm-svn: 189467
* [mips][msa] Summarize testsDaniel Sanders2013-08-2840-4/+114
| | | | | | Adds a comment to the start of each test summarizing the area the test covers. llvm-svn: 189465
* [SystemZ] Extend memcmp support to all constant lengthsRichard Sandiford2013-08-284-30/+188
| | | | | | This uses the infrastructure added for memcpy and memmove in r189331. llvm-svn: 189458
* Fix use of uninitialized value added in r189400 (found by MemorySanitizer)Alexey Samsonov2013-08-281-4/+3
| | | | llvm-svn: 189456
* Add missing includeCraig Topper2013-08-281-0/+1
| | | | llvm-svn: 189448
* Revert r189442 "Change default # of digits for APFloat::toString"Ted Kremenek2013-08-282-13/+9
| | | | | | This is breaking numerous Clang tests on the buildbot. llvm-svn: 189447
* Change default # of digits for APFloat::toStringEli Friedman2013-08-282-9/+13
| | | | | | | | | | | | | | | The previous default was almost, but not quite enough digits to represent a floating-point value in a manner which preserves the representation when it's read back in. The larger default is much less confusing. I spent some time looking into printing exactly the right number of digits if a precision isn't specified, but it's kind of complicated, and I'm not really sure I understand what APFloat::toString is supposed to output for FormatPrecision != 0 (or maybe the current API specification is just silly, not sure which). I have a WIP patch if anyone is interested. llvm-svn: 189442
* Remove support for the .debug_inlined section. No known softwareEric Christopher2013-08-285-122/+0
| | | | | | in use supports it. llvm-svn: 189439
* X86JITInfo.cpp: Apply x64 version of X86CompilationCallback() to Cygwin64.NAKAMURA Takumi2013-08-281-1/+1
| | | | | | For now, (defined(X86_64_JIT) && defined(__CYGWIN__)) satisfies Cygwin64. llvm-svn: 189437
* X86Subtarget.h: Recognize x86_64-cygwin.NAKAMURA Takumi2013-08-281-4/+1
| | | | | | In the LLVM side, x86_64-cygwin is almost as same as x86_64-mingw32. llvm-svn: 189436
* cmake: Add msbuild integration to the installHans Wennborg2013-08-284-0/+83
| | | | | | | | | | This adds the msbuild integration files to the install, provides batch scripts for (un)installing it in a convenient way, and hooks up the nsis installer to run those scripts. Differential Revision: http://llvm-reviews.chandlerc.com/D1537 llvm-svn: 189434
* [BumpPtrAllocator] Move DefaultSlabAllocator to a member of ↵Argyrios Kyrtzidis2013-08-282-9/+13
| | | | | | | | | | BumpPtrAllocator, instead of a static variable. The problem with having DefaultSlabAllocator being a global static is that it is undefined if BumpPtrAllocator will be usable during global initialization because it is not guaranteed that DefaultSlabAllocator will be initialized before BumpPtrAllocator is created and used. llvm-svn: 189433
* [mips] Use ptr_rc to simplify definitions of base+index load/store instructions.Akira Hatanaka2013-08-2813-51/+233
| | | | | | Also, fix predicates. llvm-svn: 189432
* [mips] Clean up definitions of move word from/to coprocessor instructions.Akira Hatanaka2013-08-282-46/+20
| | | | | | No functionality change. llvm-svn: 189431
* [mips] Set isAllocatable and CoveredBySubRegs.Akira Hatanaka2013-08-281-1/+3
| | | | llvm-svn: 189430
* Add a TODO here.Eric Christopher2013-08-281-0/+1
| | | | llvm-svn: 189428
* Add support for DW_FORM_dataN and DW_FORM_udata to the DIE hashingEric Christopher2013-08-283-2/+14
| | | | | | | algorithm. Update the split dwarf hashing testcase accordingly - this should be the last time that the hash of an empty file changes. llvm-svn: 189427
* Revert "Option parsing: support case-insensitive option matching." as it ↵Rui Ueyama2013-08-284-88/+54
| | | | | | | | broke Windows buildbot. This reverts r189416. llvm-svn: 189424
* Use DW_FORM_sdata for signed constant values and udata on occasionEric Christopher2013-08-275-30/+65
| | | | | | | | | | when we can. Migrate from using blocks when we're adding just a single attribute and floating point values are an unsigned, not signed, bag of bits. Update all test cases accordingly. llvm-svn: 189419
* Move some debug testcases to the debug info directory.Eric Christopher2013-08-2716-0/+0
| | | | llvm-svn: 189418
* Option parsing: support case-insensitive option matching.Rui Ueyama2013-08-274-54/+88
| | | | | | | | | | | | | | Link.exe's command line options are case-insensitive. This patch adds a new attribute to OptTable to let the option parser to compare options, ignoring case. Command lines are generally case-insensitive on Windows. CL.exe is an exception. So this new attribute should be useful for other commands running on Windows. Differential Revision: http://llvm-reviews.chandlerc.com/D1485 llvm-svn: 189416
* [CMake] Put back the add_llvm_external_project() calls for specific projects.Argyrios Kyrtzidis2013-08-271-0/+4
| | | | | | | This allows setting-up the LLVM_EXTERNAL_* CMake variables that some people are using, e.g. to set the source directory of the project in a different place. llvm-svn: 189415
* Add xml files for msbuild integrationReid Kleckner2013-08-272-0/+12
| | | | | | | | | | | | | | These files are intended to live in the msbuild toolset directory, which is somewhere like: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\ v4.0\Platforms\Win32\PlatformToolsets\llvm More work is needed to install them as part of the NSIS installer. Patch by Warren Hunt! llvm-svn: 189411
* DIBuilder: take an optional StringRef to pass in unique identifier.Manman Ren2013-08-272-19/+29
| | | | | | | | createClassType, createStructType, createUnionType, createEnumerationType, and createForwardDecl will take an optional StringRef to pass in the unique identifier. llvm-svn: 189410
* DataFlowSanitizer: Implement trampolines for function pointers passed to ↵Peter Collingbourne2013-08-273-8/+94
| | | | | | | | custom functions. Differential Revision: http://llvm-reviews.chandlerc.com/D1503 llvm-svn: 189408
* [ms-inline asm] Support offsets after segment registersDavid Majnemer2013-08-272-40/+76
| | | | | | | | | | | | | | Summary: MASM let's you do stuff like 'MOV FS:20, EAX' and 'MOV EAX, FS:20' Reviewers: craig.topper, rnk Reviewed By: rnk CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1470 llvm-svn: 189407
* Given target assembler parsers a chance to handle variant expressionsJoerg Sonnenberger2013-08-276-3/+49
| | | | | | | first. Use this to turn the PPC modifiers into PPC specific expressions, allowing them to work on constants. llvm-svn: 189400
* Changed commentJack Carter2013-08-271-1/+1
| | | | llvm-svn: 189396
* Translate ENABLE_CLANG_{ARCMT,REWRITER,STATIC_ANALYZER} when generatingRoman Divacky2013-08-271-0/+16
| | | | | | lit.site.cfg. llvm-svn: 189394
* Refactor 'vectorizeLoop' no functionality change.Nadav Rotem2013-08-271-187/+53
| | | | | | This patch merges LoopVectorize of InnerLoopVectorizer and InnerLoopUnroller by adding checks for VF=1. This helps in erasing the Unroller code that is almost identical to the InnerLoopVectorizer code. llvm-svn: 189391
* [ARMv8] Add MC support for the new load/store acquire/release instructions.Joey Gouly2013-08-279-27/+349
| | | | llvm-svn: 189388
* Revert 189297, the original commit message is following. Shuxin Yang2013-08-275-54/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---- Add new API lto_codegen_compile_parallel(). This API is proposed by Nick Kledzik. The semantic is: -------------------------------------------------------------------------- Generate code for merged module into an array of native object files. On success returns a pointer to an array of NativeObjectFile. The count parameter returns the number of elements in the array. Each element is a pointer/length for a generated mach-o/ELF buffer. The buffer is owned by the lto_code_gen_t and will be freed when lto_codegen_dispose() is called, or lto_codegen_compile() is called again. On failure, returns NULL (check lto_get_error_message() for details). extern const struct NativeObjectFile* lto_codegen_compile_parallel(lto_code_gen_t cg, size_t *count); --------------------------------------------------------------------------- This API is currently only called on OSX platform. Linux or other Unixes using GNU gold are not supposed to call this function, because on these systems, object files are fed back to linker via disk file instead of memory buffer. In this commit, lto_codegen_compile_parallel() simply calls lto_codegen_compile() to return a single object file. In the near future, this function is the entry point for compilation with partition. Linker can blindly call this function even if partition is turned off; in this case, compiler will return only one object file. llvm-svn: 189386
* AVX-512: added conversion instructions.Elena Demikhovsky2013-08-273-19/+400
| | | | llvm-svn: 189349
* DAGCombiner: make sure or/shl/srl really has zero high bits before forming bswapTim Northover2013-08-272-12/+125
| | | | | | | | We want to convert code like (or (srl N, 8), (shl N, 8)) into (srl (bswap N), const), but this is only valid if the bits above 16 on the source pattern are 0, the checks we were doing on this were slightly wrong before. llvm-svn: 189348
* [ARMv8] Add some negative tests for the recent VFP/NEON instructions.Joey Gouly2013-08-274-5/+115
| | | | | | Fix two issues I found while writing these tests. llvm-svn: 189341
OpenPOWER on IntegriCloud