summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* IR: MDNode => Value: NamedMDNode::getOperator()Duncan P. N. Exon Smith2014-11-0517-42/+47
| | | | | | | | | | | | | Change `NamedMDNode::getOperator()` from returning `MDNode *` to returning `Value *`. To reduce boilerplate at some call sites, add a `getOperatorAsMDNode()` for named metadata that's expected to only return `MDNode` -- for now, that's everything, but debug node named metadata (such as llvm.dbg.cu and llvm.dbg.sp) will soon change. This is part of PR21433. Note that there's a follow-up patch to clang for the API change. llvm-svn: 221375
* remove extra breaks; NFCSanjay Patel2014-11-051-4/+1
| | | | llvm-svn: 221374
* IR: MDNode => Value: AsmWriter SlotTracker APIDuncan P. N. Exon Smith2014-11-051-8/+9
| | | | | | | | Change `SlotTracker::CreateMetadataSlot()` and `SlotTracker::getMetadataSlot()` to use `Value` instead of `MDNode`. Part of PR21433. llvm-svn: 221373
* [ARM] Remove more dead code.Tilmann Scheller2014-11-051-4/+0
| | | | | | Dead code identified by the Clang static analyzer. llvm-svn: 221372
* ps][microMIPS] Implement CodeGen support for ANDI16 instructionZoran Jovanovic2014-11-053-2/+38
| | | | llvm-svn: 221371
* [Hexagon] [NFC] Alphabetizing cmake files.Colin LeMahieu2014-11-051-6/+6
| | | | llvm-svn: 221370
* ps][microMIPS] Implement CodeGen support for SLL16 and SRL16 instructionsZoran Jovanovic2014-11-053-9/+66
| | | | llvm-svn: 221369
* [ARM] Remove another redundant assignment.Tilmann Scheller2014-11-051-1/+0
| | | | | | Found by the Clang static analyzer. llvm-svn: 221368
* [mips][microMIPS] Implement ANDI16 instructionZoran Jovanovic2014-11-057-0/+69
| | | | llvm-svn: 221367
* [ARM] Remove redundant assignment.Tilmann Scheller2014-11-051-1/+0
| | | | | | Found by the Clang static analyzer. llvm-svn: 221366
* Revert "clang-format: [js] Updates to Google's JavaScript style."Daniel Jasper2014-11-054-19/+21
| | | | | | | | This reverts commit eefd2eaad43c5c2b17953ae7ed1e72b28e696f7b. Apparently, this change was a bit premature. llvm-svn: 221365
* [dfsan] Add runtime function for aborting on indirect calls toPeter Collingbourne2014-11-052-0/+33
| | | | | | uninstrumented vararg functions. llvm-svn: 221364
* [dfsan] Add libgo functions to ABI list.Peter Collingbourne2014-11-051-0/+21
| | | | llvm-svn: 221363
* [dfsan] Upgrade ABI list to Ubuntu 14.04.Peter Collingbourne2014-11-052-298/+46
| | | | | | This incorporates some of the newer functions used by (e.g.) the Go runtime. llvm-svn: 221362
* [dfsan] Modify build-libc-list.py to filter out local functions in generatedPeter Collingbourne2014-11-051-0/+1
| | | | | | ABI list. llvm-svn: 221361
* [dfsan] Abort at runtime on indirect calls to uninstrumented vararg functions.Peter Collingbourne2014-11-052-12/+38
| | | | | | | | | | | | | We currently have no infrastructure to support these correctly. This is accomplished by generating a call to a runtime library function that aborts at runtime in place of the regular wrapper for such functions. Direct calls are rewritten in the usual way during traversal of the caller's IR. We also remove the "split-stack" attribute from such wrappers, as the code generator cannot currently handle split-stack vararg functions. llvm-svn: 221360
* IR: MDNode => Value: NamedMDNode::addOperand()Duncan P. N. Exon Smith2014-11-052-2/+3
| | | | | | | Change `NamedMDNode::addOperand()` to take a `Value *` instead of an `MDNode *`. This is part of PR21433. llvm-svn: 221359
* [ARM] Remove dead code identified by the Clang static analyzer.Tilmann Scheller2014-11-051-2/+0
| | | | llvm-svn: 221358
* Remove superceded warning warn_forgotten_module_headerBen Langmuir2014-11-054-33/+8
| | | | | | | | | | | | This DefaultIgnore warning under -Wincomplete-module was firing on any module map files that happened to be parsed (it's only supposed to fire on headers), and it has been superceded by -Wnon-modular-include-in-module anyway. For compatibility, I rewired -Wincomplete-module to imply -Wnon-modular-include-in-module. llvm-svn: 221357
* When run on a ppc64le based platform, the check-sanitizer build looks forWill Schmidt2014-11-051-2/+3
| | | | | | | | | objects with the powerpc64le name. i.e. asan-powerpc64le.a This change allows those objects to be built. Differential Revision: http://reviews.llvm.org/D6043 llvm-svn: 221356
* [mips][microMIPS] Mark symbols as microMIPS if necessaryZoran Jovanovic2014-11-055-2/+143
| | | | | | Differential Revision: http://reviews.llvm.org/D6039 llvm-svn: 221355
* Reverted revisions 221351, 221352 and 221353.Zoran Jovanovic2014-11-0510-173/+11
| | | | llvm-svn: 221354
* [mips][microMIPS] Implement CodeGen support for ANDI16 instructionZoran Jovanovic2014-11-053-2/+38
| | | | | | Differential Revision: http://reviews.llvm.org/D5797 llvm-svn: 221353
* [mips][microMIPS] Implement CodeGen support for SLL16 and SRL16 instructionsZoran Jovanovic2014-11-053-9/+66
| | | | | | Differential Revision: http://reviews.llvm.org/D5933 llvm-svn: 221352
* [mips][microMIPS] Implement ANDI16 instructionZoran Jovanovic2014-11-057-0/+69
| | | | | | Differential Revision: http://reviews.llvm.org/D5163 llvm-svn: 221351
* R600/SI: Change all instruction assembly names to lowercase.Tom Stellard2014-11-05238-5748/+5748
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matches the format produced by the AMD proprietary driver. //==================================================================// // Shell script for converting .ll test cases: (Pass the .ll files you want to convert to this script as arguments). //==================================================================// ; This was necessary on my system so that A-Z in sed would match only ; upper case. I'm not sure why. export LC_ALL='C' TEST_FILES="$*" MATCHES=`grep -v Patterns SIInstructions.td | grep -o '"[A-Z0-9_]\+["e]' | grep -o '[A-Z0-9_]\+' | sort -r` for f in $TEST_FILES; do # Check that there are SI tests: grep -q -e 'verde' -e 'bonaire' -e 'SI' -e 'tahiti' $f if [ $? -eq 0 ]; then for match in $MATCHES; do sed -i -e "s/\([ :]$match\)/\L\1/" $f done # Try to get check lines with partial instruction names sed -i 's/\(;[ ]*SI[A-Z\\-]*: \)\([A-Z_0-9]\+\)/\1\L\2/' $f fi done sed -i -e 's/bb0_1/BB0_1/g' ../../../test/CodeGen/R600/infinite-loop.ll sed -i -e 's/SI-NOT: bfe/SI-NOT: {{[^@]}}bfe/g'../../../test/CodeGen/R600/llvm.AMDGPU.bfe.*32.ll ../../../test/CodeGen/R600/sext-in-reg.ll sed -i -e 's/exp_IEEE/EXP_IEEE/g' ../../../test/CodeGen/R600/llvm.exp2.ll sed -i -e 's/numVgprs/NumVgprs/g' ../../../test/CodeGen/R600/register-count-comments.ll sed -i 's/\(; CHECK[-NOT]*: \)\([A-Z_0-9]\+\)/\1\L\2/' ../../../test/CodeGen/R600/select64.ll ../../../test/CodeGen/R600/sgpr-copy.ll //==================================================================// // Shell script for converting .td files (run this last) //==================================================================// export LC_ALL='C' sed -i -e '/Patterns/!s/\("[A-Z0-9_]\+[ "e]\)/\L\1/g' SIInstructions.td sed -i -e 's/"EXP/"exp/g' SIInstrInfo.td llvm-svn: 221350
* R600/SI: Add an extra check line to make test more strictTom Stellard2014-11-051-0/+1
| | | | llvm-svn: 221349
* Disable backtrace libcxxabi test on ARMRenato Golin2014-11-051-0/+5
| | | | | | | | _Unwind_Backtrace is not clearly defined in EHABI and needs more testing. A bug was created with some initial investigation done http://llvm.org/PR21444. This test fails with both libunwind and libgcc_s. llvm-svn: 221348
* Disable XFAIL on ARM since the x86_64 specific code is isolatedRenato Golin2014-11-051-2/+0
| | | | llvm-svn: 221347
* Support LLVM_BUILD_STATIC.Rafael Espindola2014-11-052-5/+17
| | | | llvm-svn: 221346
* Add a LLVM_BUILD_STATIC option to cmake.Rafael Espindola2014-11-051-0/+4
| | | | | | Setting it to true causes all executables to be statically linked. llvm-svn: 221345
* MS ABI: Correctly mangle CV qualifiers from typedefsWill Wilson2014-11-052-1/+14
| | | | llvm-svn: 221344
* [X86] Teach method 'isVectorClearMaskLegal' how to check for legal blend masks.Andrea Di Biagio2014-11-053-2/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch improves the folding of vector AND nodes into blend operations for targets that feature SSE4.1. A vector AND node where one of the operands is a constant build_vector with elements that are either zero or all-ones can be converted into a blend. This allows for example to simplify the following code: define <4 x i32> @test(<4 x i32> %A, <4 x i32> %B) { %1 = and <4 x i32> %A, <i32 0, i32 0, i32 0, i32 -1> %2 = and <4 x i32> %B, <i32 -1, i32 -1, i32 -1, i32 0> %3 = or <4 x i32> %1, %2 ret <4 x i32> %3 } Before this patch llc (-mcpu=corei7) generated: andps LCPI1_0(%rip), %xmm0, %xmm0 andps LCPI1_1(%rip), %xmm1, %xmm1 orps %xmm1, %xmm0, %xmm0 retq With this patch we generate a single 'vpblendw'. llvm-svn: 221343
* Fix bashism in tests added by r221341Oliver Stannard2014-11-052-4/+4
| | | | llvm-svn: 221342
* [ARM] Honor FeatureD16 in the assembler and disassemblerOliver Stannard2014-11-056-8/+66
| | | | | | | | | | | | | | | Some ARM FPUs only have 16 double-precision registers, rather than the normal 32. LLVM represents this with the D16 target feature. This is currently used by CodeGen to avoid using high registers when they are not available, but the assembler and disassembler do not. I fix this in the assmebler and disassembler rather than the InstrInfo.td files, as the latter would require a large number of changes everywhere one of the floating-point instructions is referenced in the backend. This solution is similar to the one used for co-processor numbers and MSR masks. llvm-svn: 221341
* [clang-tidy] google-readability-function: skip std::nullptr_tAlexander Kornienko2014-11-052-0/+10
| | | | | | | Parameters of type std::nullptr_t can only have one value, so it doesn't make sense to name them. llvm-svn: 221340
* clang-format: Add test to prevent regression in r221125.Daniel Jasper2014-11-051-1/+2
| | | | llvm-svn: 221339
* clang-format: Improve free-standing macro detection.Daniel Jasper2014-11-052-10/+12
| | | | | | | | | | | | Before: SOME_WEIRD_LOG_MACRO << "Something long enough to cause a line break"; After: SOME_WEIRD_LOG_MACRO << "Something long enough to cause a line break"; llvm-svn: 221338
* Get the Linux ptrace test working on PowerPC64Jay Foad2014-11-051-1/+18
| | | | | | | | | | | | | | The test refers to user_regs_struct.rip so it can only ever have worked on x86-64. Put this code inside an appropriate #if, and add a similar case for PowerPC64. (If we do likewise for ARM we can probably remove the XFAILs, but I have no way of testing that.) Those changes are enough to get the test working for me on big-endian PowerPC64 Fedora 19. Differential Revision: http://reviews.llvm.org/D6108 llvm-svn: 221337
* Improve logic that decides if its profitable to commute when some of the ↵Craig Topper2014-11-0510-81/+57
| | | | | | virtual registers involved have uses/defs chains connecting them to physical register. Fix up the tests that this change improves. llvm-svn: 221336
* PECOFF: Set the AddressOfRelocationTable in the DOS headerDavid Majnemer2014-11-052-0/+20
| | | | | | | | | Many programs, for reasons unknown, really like to look at the AddressOfRelocationTable to determine whether or not they are looking at a bona fide PE file. Without this, programs like the UNIX `file' utility will insist that they are looking at a MS DOS executable. llvm-svn: 221335
* llvm/test/Transforms/GCOVProfiling: Avoid to parse backslashes in MDString. ↵NAKAMURA Takumi2014-11-053-9/+3
| | | | | | | | | | | | | Use %/T instead of %T. LLVM Parser decodes "\bb" as hex in "C:\bb-win7\buildername\build...", with MDString. See also, http://llvm.org/docs/LangRef.html#metadata-nodes-and-metadata-strings This reverts r221270, "Disable 3 tests in llvm/test/Transforms/GCOVProfiling/ for now. Investigating." FIXME: Please check EC in GCOVProfiler::emitProfileNotes(). llvm-svn: 221334
* llvm-readobj: Add support for dumping the DOS header in PE filesDavid Majnemer2014-11-055-17/+67
| | | | llvm-svn: 221333
* Mark darwin-debug-flags.c as REQUIRES:shell, due to quoting issue.NAKAMURA Takumi2014-11-051-0/+3
| | | | llvm-svn: 221332
* Revert 220932.Jiangning Liu2014-11-056-85/+4
| | | | | | | | | Commit 220932 caused crash when building clang-tblgen on aarch64 debian target, so it's blocking all daily tests. The std::call_once implementation in pthread has bug for aarch64 debian. llvm-svn: 221331
* clang-format: Make it possible to (require 'clang-format)Justin Bogner2014-11-051-0/+2
| | | | | | | This makes the emacs integration ``provide`` a clang-format feature, so that a .emacs can ``require`` it. llvm-svn: 221330
* [PECOFF] Do not skip COMDAT section symbols.Rui Ueyama2014-11-052-12/+1
| | | | | | | | | LLD skipped COMDAT section symbols when reading them because I thought we don't want to have symbols with the same name. But they are actually needed because relocations may refer to the section symbols. So we shoulnd't skip them. llvm-svn: 221329
* IR: Metadata: Remove unnecessary dyn_castDuncan P. N. Exon Smith2014-11-051-1/+1
| | | | llvm-svn: 221328
* Fix broken C++ mode commentMatt Arsenault2014-11-051-1/+1
| | | | llvm-svn: 221327
* Debug info: Emit the correct type for the __FuncPtr field in a blockAdrian Prantl2014-11-052-2/+22
| | | | | | | | descriptor. rdar://problem/15984431 llvm-svn: 221326
OpenPOWER on IntegriCloud