summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Sema: address post-commit review commentSaleem Abdulrasool2014-10-171-2/+2
| | | | | | | Hoist the IgnoreParens so that we ignore it around attributes as well in order to future-proof the code. Addresses Richard's comments for SVN r219974. llvm-svn: 220053
* Driver: support detecting driver mode when clang has a version suffix ↵Hans Wennborg2014-10-172-76/+137
| | | | | | | | | | | | | | without dash (PR21094) Clang would previously not get into C++ mode when invoked as 'clang++3.6' (though clang++-3.6 would work). I found the previous loop logic in this function confusing; hopefully this makes it a little clearer. Differential Revision: http://reviews.llvm.org/D5833 llvm-svn: 220052
* [AArch64] Fix a silent codegen fault in BUILD_VECTOR lowering.James Molloy2014-10-172-9/+31
| | | | | | | | | | We should be talking about the number of source elements, not the number of destination elements, given we know at this point that the source and dest element numbers are not the same. While we're at it, avoid writing to std::vector::end()... Bug found with random testing and a lot of coffee. llvm-svn: 220051
* Add an .arcconfig for libc++abi.Dan Albert2014-10-171-0/+4
| | | | llvm-svn: 220050
* [libcxxabi] Document the standalone build's requirements on llvm-config and ↵Eric Fiselier2014-10-172-1/+13
| | | | | | | | | | | llvm sources. The current documentation does not explain that the standalone build requires the LLVM sources. This patch updates the documentation to reflect this requirement and explains how to manually specify the location of the required files. llvm-svn: 220049
* Don't crash if find_executable return None.Rafael Espindola2014-10-171-4/+4
| | | | | | This was crashing when trying to run the tests on Windows. llvm-svn: 220048
* [PowerPC] Enable use of lxvw4x/stxvw4x in VSX code generationBill Schmidt2014-10-179-12/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the VSX support enables use of lxvd2x and stxvd2x for 2x64 types, but does not yet use lxvw4x and stxvw4x for 4x32 types. This patch adds that support. As with lxvd2x/stxvd2x, this involves straightforward overriding of the patterns normally recognized for lvx/stvx, with preference given to the VSX patterns when VSX is enabled. In addition, the logic for permitting misaligned memory accesses is modified so that v4r32 and v4i32 are treated the same as v2f64 and v2i64 when VSX is enabled. Finally, the DAG generation for unaligned loads is changed to just use a normal LOAD (which will become lxvw4x) on P8 and later hardware, where unaligned loads are preferred over lvsl/lvx/lvx/vperm. A number of tests now generate the VSX loads/stores instead of lvx/stvx, so this patch adds VSX variants to those tests. I've also added <4 x float> tests to the vsx.ll test case, and created a vsx-p8.ll test case to be used for testing code generation for the P8Vector feature. For now, that simply tests the unaligned load/store behavior. This has been tested along with a temporary patch to enable the VSX and P8Vector features, with no new regressions encountered with or without the temporary patch applied. llvm-svn: 220047
* Mips: Only set divrem i64 to custom on 64bitJan Vesely2014-10-171-2/+2
| | | | | | Reviewed-by: Daniel Sanders <daniel.sanders@imgtec.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 220046
* R600: Add EG to FMA testJan Vesely2014-10-171-1/+14
| | | | | | Reviewed-by: Tom Stellard <tom@stellard.net> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 220045
* SelectionDAG: Add sext_inreg optimizationsJan Vesely2014-10-172-0/+48
| | | | | | | | | | v2: use dyn_cast fixup comments v3: use cast Reviewed-by: Matt Arsenault <arsenm2@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 220044
* clang-format: Prefer breaking before trailing return arrows.Daniel Jasper2014-10-173-2/+5
| | | | | | | | | | | | Before: auto SomeFunction( A aaaaaaaaaaaaaaaaaaaaa) const -> decltype(f(aaaaaaaaaaaaaaaaaaaaa)) {} After: auto SomeFunction(A aaaaaaaaaaaaaaaaaaaaa) const -> decltype(f(aaaaaaaaaaaaaaaaaaaaa)) {} llvm-svn: 220043
* [mips] Add support for COP1's Branch-On-Cond-Likely instructionsVasileios Kalintiris2014-10-1724-16/+104
| | | | | | | | | | | | Summary: Depends on D5782 Reviewers: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5802 llvm-svn: 220042
* clang-format: [Java] Don't break immediately after "throws".Daniel Jasper2014-10-172-6/+11
| | | | | | | | | | | | Before: public void doSooooooooooooooooooooooooooomething() throws LooooooooooooooooooooooooooooongException {} After: public void doSooooooooooooooooooooooooooomething() throws LooooooooooooooooooooooooooooongException {} llvm-svn: 220041
* [CMake] check-lld: Prune llvm-mc. It is unused.NAKAMURA Takumi2014-10-171-1/+1
| | | | llvm-svn: 220040
* lld/lib/Core/Error.cpp: Appease g++-4.7, corresponding to LLVM r210687.NAKAMURA Takumi2014-10-171-0/+2
| | | | llvm-svn: 220039
* Revert r219977, "Re-commit r217995 and follow-up patches (r217997, r218011, ↵NAKAMURA Takumi2014-10-1715-422/+241
| | | | | | | | | | | | | r218053). These were" It broke some builders. I guess it'd be reproducible with --vg. Failing Tests (3): Clang :: CXX/except/except.spec/p1.cpp Clang :: SemaTemplate/instantiate-exception-spec-cxx11.cpp Clang :: SemaTemplate/instantiate-exception-spec.cpp llvm-svn: 220038
* Add explicit triple to ↵NAKAMURA Takumi2014-10-171-2/+2
| | | | | | clang/test/CodeGen/sanitize-address-field-padding.cpp, for now. It's incompatible to ms mangling. llvm-svn: 220037
* [mips] Add support for COP0's Branch-On-Cond-Likely instructionsVasileios Kalintiris2014-10-1716-30/+217
| | | | | | | | | | | | Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5782 llvm-svn: 220036
* [DSE] Remove no-data-layout-only type-based overlap checkingHal Finkel2014-10-175-20/+22
| | | | | | | | | | | | | | | | | DSE's overlap checking contained special logic, used only when no DataLayout was available, which inferred a complete overwrite when the pointee types were equal. This logic seems fine for regular loads/stores, but does not work for memcpy and friends. Instead of fixing this, I'm just removing it. Philosophically, transformations should not contain enhanced behavior used only when data layout is lacking (data layout should be strictly additive), and maintaining these rarely-tested code paths seems not worthwhile at this stage. Credit to Aliaksei Zasenka for the bug report and the diagnosis. The test case (slightly reduced from that provided by Aliaksei) replaces the original contents of test/Transforms/DeadStoreElimination/no-targetdata.ll -- a few other tests have been updated to have a data layout. llvm-svn: 220035
* complex long double support for PowerPCJoerg Sonnenberger2014-10-172-0/+17
| | | | llvm-svn: 220034
* Optimize Type::isStructureOrClassType() by reusing RT->getDecl().Yaron Keren2014-10-171-3/+4
| | | | | | | | | | | RecordType->getDecl() which maps to TagType::getDecl() is not a simple accessor but a loop on redecls in getInterestingTagDecl. isStructureOrClassType() was calling getDecl() three times performing three times the work actually required. It is optimized by calling RT->getDecl() once and reusing the result three times. llvm-svn: 220033
* D5775: The new test case was missing from the preceding commit.Artyom Skrobov2014-10-171-0/+29
| | | | llvm-svn: 220032
* D5775: Fix of assertion failure in case of non-POD unions with bitfields. ↵Artyom Skrobov2014-10-171-4/+14
| | | | | | Patch by Evgeny Astigeevich! llvm-svn: 220031
* User c-tor name to fix the sanitizer testRenato Golin2014-10-171-1/+1
| | | | llvm-svn: 220030
* Trying to fix failing Clang sanitizer test on ARM botsRenato Golin2014-10-171-1/+1
| | | | llvm-svn: 220029
* Towards PR21289: don't lose track of unexpanded parameter packs withRichard Smith2014-10-173-34/+37
| | | | | | | non-dependent types, in CXXScalarValueInitExprs and in the nested-name-specifier or template arguments of a DeclRefExpr in particular. llvm-svn: 220028
* Fix bashism in build.sh.Peter Collingbourne2014-10-171-1/+1
| | | | llvm-svn: 220027
* Break out of the command word parsing loop if we hitJason Molenda2014-10-171-0/+6
| | | | | | | | an invalid combination of words; don't accidentally continue trying to parse the command line. clang static analysis fixit. llvm-svn: 220026
* Add #if 0 around unreachable block of code to suppress warnings.Jason Molenda2014-10-171-0/+2
| | | | | | clang warnings. llvm-svn: 220025
* Add null-checks around getter/setter before using them.Jason Molenda2014-10-171-4/+10
| | | | | | clang static analyzer fixit. llvm-svn: 220024
* Remove incorrect usage of JoinedOrSeparate.Richard Smith2014-10-172-3/+3
| | | | llvm-svn: 220023
* A << operation would be undefined for a bit-selectingJason Molenda2014-10-171-1/+1
| | | | | | | | | function because of a '1u' making it a 32-bit value when it really needed to be a 64-bit value. Trivial to fix once I figured out what was going on. clang static analzyer fixit. llvm-svn: 220022
* Add back commits r219835 and a fixed version of r219829.Rafael Espindola2014-10-178-51/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only difference from r219829 is using getOrCreateSectionSymbol(*ELFSec) instead of GetOrCreateSymbol(ELFSec->getSectionName()) in ELFObjectWriter which causes us to use the correct section symbol even if we have multiple sections with the same name. Original messages: r219829: Correctly handle references to section symbols. When processing assembly like .long .text we were creating a new undefined symbol .text. GAS on the other hand would handle that as a reference to the .text section. This patch implements that by creating the section symbols earlier so that they are visible during asm parsing. The patch also updates llvm-readobj to print the symbol number in the relocation dump so that the test can differentiate between two sections with the same name. r219835: Allow forward references to section symbols. llvm-svn: 220021
* PR21215: Support -fmodule-map-file being specified multiple times. SupportRichard Smith2014-10-178-22/+39
| | | | | | loading multiple module map files from the same directory. llvm-svn: 220020
* [PPC] Adjust some PowerPC tests to account for presence/absence of VSXBill Schmidt2014-10-1719-37/+243
| | | | | | | | | | | Patch by Bill Seurer; committed on his behalf. These test cases generate slightly different code sequences when VSX is activated and thus fail. The update turns off VSX explicitly for the existing checks and then adds a second set of checks for most of them that test the VSX instruction output. llvm-svn: 220019
* Remove always-true part of a conditional expression.Jason Molenda2014-10-171-1/+1
| | | | | | clang warning. llvm-svn: 220018
* Put #if 0 blocks around three sections of code that are intentionallyJason Molenda2014-10-171-1/+7
| | | | | | | | | | | | unreachable so we don't get warnings about them. Completely initialize a structure instead of leaving some of its fields potentially indeterminate (although in reality they would all be set before use -- but the compiler warning doesn't know that). clang warning. llvm-svn: 220017
* Add a test that would have found the bug in r219829.Rafael Espindola2014-10-172-1/+33
| | | | llvm-svn: 220016
* ARM: Fix a bug which was causing convergence failure in constant-island pass.Akira Hatanaka2014-10-172-1/+401
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug is in ARMConstantIslands::createNewWater where the upper bound of the new water split point is computed: // This could point off the end of the block if we've already got constant // pool entries following this block; only the last one is in the water list. // Back past any possible branches (allow for a conditional and a maximally // long unconditional). if (BaseInsertOffset + 8 >= UserBBI.postOffset()) { BaseInsertOffset = UserBBI.postOffset() - UPad - 8; DEBUG(dbgs() << format("Move inside block: %#x\n", BaseInsertOffset)); } The split point is supposed to be somewhere between the machine instruction that loads from the constant pool entry and the end of the basic block, before branch instructions. The code above is fine if the basic block is large enough and there are a sufficient number of instructions following the machine instruction. However, if the machine instruction is near the end of the basic block, BaseInsertOffset can point to the machine instruction or another instruction that precedes it, and this can lead to convergence failure. This commit fixes this bug by ensuring BaseInsertOffset is larger than the offset of the instruction following the constant-loading instruction. rdar://problem/18581150 llvm-svn: 220015
* Switch to range-based for loop. No functionality change.Richard Smith2014-10-171-9/+3
| | | | llvm-svn: 220014
* [asan] the run-time part of intra-object-overflow detector ↵Kostya Serebryany2014-10-175-0/+75
| | | | | | (-fsanitize-address-field-padding=1). Note that all of this is still experimental; don't use unless you are brave. llvm-svn: 220013
* Making all @expectedFailure markers take an explicit bugnumber annotation. ↵Enrico Granata2014-10-172-21/+22
| | | | | | This used to be optional, but that makes it harder to track what tests are failing for what reason. So, make it mandatory, in the form of refusing to run the test suite if annotations are missing llvm-svn: 220012
* Don't enable the log here. It was just me debuggingEnrico Granata2014-10-171-1/+0
| | | | llvm-svn: 220011
* Revert commit r219835 and r219829.Rafael Espindola2014-10-179-195/+52
| | | | | | | | | Revert "Correctly handle references to section symbols." Revert "Allow forward references to section symbols." Rui found a regression I am debugging. llvm-svn: 220010
* Per comments on PR12350, move DR244 back from 'done' to 'partial' and add ↵Richard Smith2014-10-172-2/+24
| | | | | | tests showing what we get wrong. llvm-svn: 220009
* [OCaml] Add Llvm.instr_clone.Peter Zotov2014-10-174-0/+31
| | | | llvm-svn: 220008
* [LLVM-C] Add LLVMInstructionClone.Peter Zotov2014-10-172-0/+16
| | | | llvm-svn: 220007
* CodeGen: Kill FillInNullDataMemberPointersDavid Majnemer2014-10-171-106/+3
| | | | | | | It exists to handle the case where base subobjects are character arrays. This never happens. llvm-svn: 220006
* AST: Remove dead code from RecordLayoutBuilderDavid Majnemer2014-10-171-11/+0
| | | | | | No functionality change intended. llvm-svn: 220005
* [llvm-symbolizer] Introduce the -dsym-hint option.Alexander Potapenko2014-10-1712-50/+177
| | | | | | | llvm-symbolizer will consult one of the .dSYM paths passed via -dsym-hint if it fails to find the .dSYM bundle at the default location. llvm-svn: 220004
OpenPOWER on IntegriCloud