summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* blockfreq: Use getSuccessorIndex()Duncan P. N. Exon Smith2014-04-111-5/+3
| | | | | | | | No functionality change. <rdar://problem/14292693> llvm-svn: 206082
* CodeGen: Fix handling of C++11 lambdas in profilingJustin Bogner2014-04-113-3/+86
| | | | | | | | | Until now we were generating duplicate counters for lambdas: one set in the function where the lambda was declared and another for the lambda itself. Instead, we should skip over the bodies of lambdas in their containing contexts. llvm-svn: 206081
* Pull out a named variable for the cached section names to aid readability.David Blaikie2014-04-111-6/+8
| | | | | | Based on a code review suggestion from Eric Christopher in r205990 llvm-svn: 206080
* Add ARM64 CLS patternsLouis Gerbarg2014-04-112-0/+42
| | | | | | | | | This patch adds patterns to generate the cls instruction ARM64. Includes tests for 64 bit and 32 bit operands. rdar://15611957 llvm-svn: 206079
* Format fixes for r205990David Blaikie2014-04-112-5/+13
| | | | llvm-svn: 206078
* [MS-ABI] Update to vtordisp computationWarren Hunt2014-04-112-34/+95
| | | | | | | | | | A portion of the vtordisp computation that was previously unguarded by a test for the declaration of user defined constructors/destructors was erroniously adding vtordisps to things that shouldn't have them. This patch correctly guards that codepath. In addition, it updates the comments to make them more clear. Test case is included. llvm-svn: 206077
* Make doxygen comment match the declaration.Benjamin Kramer2014-04-111-1/+1
| | | | | | Found by -Wdocumentation. llvm-svn: 206076
* [RegAllocGreedy][Last Chance Recoloring] Change the name of the exhaustive ↵Quentin Colombet2014-04-112-3/+3
| | | | | | | | | | | search option. fexhaustive-register-search => exhaustive-register-search 'f' is a Clang thing! This is related to PR18747. llvm-svn: 206075
* [RegAllocGreedy][Last Chance Recoloring] Addition ofQuentin Colombet2014-04-112-6/+19
| | | | | | | | | | | -fexhaustive-register-search option to allow an exhaustive search during last chance recoloring. This is related to PR18747 Patch by MAYUR PANDEY <mayur.p@samsung.com>. llvm-svn: 206072
* R600: Check if a sextload should be used for parameter loads.Matt Arsenault2014-04-113-14/+20
| | | | | | | | | | Through some oddity where truncate (sextload x) isn't folded into an anyextload for vectors, the sextload remains if the vector isn't immediately scalarized. This keeps the expected zextload instructions in the kernel-args test when small type vectors aren't scalarized. llvm-svn: 206070
* Add a test to distinguish between reserved tokens and normal identifiers.Yunzhong Gao2014-04-113-0/+34
| | | | | | | | | | | | The -fms-extensions option affects a number of subtle front-end C/C++ behaviors, and it would be useful to be able to distinguish MS keywords from regular identifiers in the ms-extensions mode even if the triple does not define a Windows target. It should make life easier if anyone needs to port their Windows codes to elsewhere. Differential Revision: http://reviews.llvm.org/D3034 llvm-svn: 206069
* Remove redundant symbolization support from MCDisassembler interface.Lang Hames2014-04-119-265/+287
| | | | | | | | | | | | | | | | | MCDisassembler has an MCSymbolizer member that is meant to take care of symbolizing during disassembly, but it also has several methods that enable the disassembler to do symbolization internally (i.e. without an attached symbolizer object). There is no need for this duplication, but ARM64 had been making use of it. This patch moves the ARM64 symbolization logic out of ARM64Disassembler and into an ARM64ExternalSymbolizer class, and removes the duplicated MCSymbolizer functionality from the MCDisassembler interface. Symbolization will now be done exclusively through MCSymbolizers. There should be no impact on disassembly for any platform, but this allows us to tidy up the MCDisassembler interface and simplify the process of (and invariants related to) disassembler setup. llvm-svn: 206063
* [Register Coalescer] Fix wrong live-range information with rematerialization.Quentin Colombet2014-04-111-0/+21
| | | | | | | | | | | | | | | When rematerializing an instruction that defines a super register that would be used by a physical subregisters we use the related physical super register for the definition. To keep the live-range information accurate, all the defined subregisters must be marked as dead def, otherwise the register allocation may miss some interferences. Working on a reduced test-case! <rdar://problem/16582185> llvm-svn: 206060
* R600/SI: Refactor SOPC classes slightly.Matt Arsenault2014-04-113-20/+28
| | | | | | | Better match what is done for VOPC to eventually prefer selecting these. llvm-svn: 206048
* Don't lose the thumb bit by using relocations with sections.Rafael Espindola2014-04-112-1/+19
| | | | | | This fixes a regression from r205076. llvm-svn: 206047
* Add some CHECKs to this testcase.Adrian Prantl2014-04-111-2/+6
| | | | llvm-svn: 206046
* Fix shift by constants for vector.Matt Arsenault2014-04-113-21/+95
| | | | | | ashr <N x iM>, <N x iM> M -> undef llvm-svn: 206045
* Fixed gcc build warningsTobias Grosser2014-04-113-85/+93
| | | | | | | + vim 'fixed' line endings in json_value.cpp Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de> llvm-svn: 206044
* tsan: serialize report printing in standalone deadlock detectorDmitry Vyukov2014-04-112-1/+2
| | | | | | otherwise reports get intermixed llvm-svn: 206043
* Debug info: Store the DIVariable in DebugLocEntry also for constants,Adrian Prantl2014-04-115-15/+17
| | | | | | | | so DwarfDebug::emitDebugLocEntry can emit them with the correct signedness. rdar://problem/15928306 llvm-svn: 206042
* Move ExtractVectorElements to SelectionDAG.Matt Arsenault2014-04-114-23/+28
| | | | | | | This seems generally useful, and makes sense to go along with SplitVector. llvm-svn: 206041
* Fixed SBThread.GetStopReasonDataAtIndex() to correctly return breakpoint ↵Greg Clayton2014-04-111-1/+1
| | | | | | | | location ID. Patch from Vyacheslav Karpukhin. llvm-svn: 206040
* [PGO] Change MapRegionCounters to be a RecursiveASTVisitor.Bob Wilson2014-04-111-132/+75
| | | | | | | This avoids the overhead of specifying all the traversal code when using ConstStmtVisitor and makes it a lot easier to maintain this. llvm-svn: 206039
* Simplify RecordLayoutBuilder with getAsCXXRecordDecl()Reid Kleckner2014-04-111-57/+34
| | | | | | No functionality change. llvm-svn: 206038
* SelectionDAG: Use helper function to improve legalization of ISD::MULTom Stellard2014-04-114-42/+80
| | | | | | | | The TargetLowering::expandMUL() helper contains lowering code extracted from the DAGTypeLegalizer and allows the SelectionDAGLegalizer to expand more ISD::MUL patterns without having to use a library call. llvm-svn: 206037
* SelectionDAG: Factor ISD::MUL lowering code out of DAGTypeLegalizerTom Stellard2014-04-113-67/+131
| | | | | | | | | | | This code has been moved to a new function in the TargetLowering class called expandMUL(). The purpose of this is to be able to share lowering code between the SelectionDAGLegalize and DAGTypeLegalizer classes. No functionality changed intended. llvm-svn: 206036
* tsan: fix vector clocksDmitry Vyukov2014-04-1113-107/+152
| | | | | | | the new optimizations break when thread ids gets reused (clocks go backwards) add the necessary tests as well llvm-svn: 206035
* tsan: ignore interceptors from symbolizerDmitry Vyukov2014-04-111-0/+2
| | | | | | | ocassionally we see races coming from symbolizer interceptors (e.g. memcmp) reproducible only only on large complex programs llvm-svn: 206034
* Revert: r205182 - llvm/test/MC/Mips/mips64r2/valid-xfail.s: This REQUIRES ↵Daniel Sanders2014-04-111-1/+0
| | | | | | | | asserts. Seems it doesn't fail with -Asserts. This was most likely caused by an uninitialized value and the relevant code was re-written in r205292. Reverting to see if it still fails on any of the buildbots. llvm-svn: 206033
* Fix use-after-free bug caught by address sanitizer:Diego Novillo2014-04-112-2/+2
| | | | | | | | http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/2959 The location string is returned as a std::string, not a StringRef. llvm-svn: 206032
* [tsan] Fix output tests.Evgeniy Stepanov2014-04-111-1/+4
| | | | llvm-svn: 206031
* [tsan] Fix false positive on xdr*_create.Evgeniy Stepanov2014-04-112-2/+23
| | | | llvm-svn: 206030
* Correctly handle escaped newlines when the next token starts without a space.Manuel Klimek2014-04-114-6/+14
| | | | | | | We will need this to correctly handle conflict markers inside macro definitions. llvm-svn: 206029
* [msan] mprotect() more memory to detect user code outside of application range.Evgeniy Stepanov2014-04-112-5/+6
| | | | llvm-svn: 206028
* Add -fmodules-strict-decluse to check that all headers are in modulesDaniel Jasper2014-04-116-2/+31
| | | | | Review: http://reviews.llvm.org/D3335 llvm-svn: 206027
* Remove OpenScopTobias Grosser2014-04-1118-1229/+296
| | | | | | | | | We only supported a very old version of OpenScop that was entirely different to what OpenScop is today. To not confuse people, we remove this old and unusable support. If anyone is interested to add OpenScop support back in, the relevant patches are available in version control. llvm-svn: 206026
* Remove node from a container before destroying it. Thanks to Alexander ↵Marshall Clow2014-04-111-1/+1
| | | | | | Potapenko for pointing this out. llvm-svn: 206024
* [Mips] Factor out MIPS relocation addend reading to the separateSimon Atanasyan2014-04-111-8/+12
| | | | | | | | function. No functional changes. llvm-svn: 206023
* [ELF] Remove redundant conversion of section content from ArrayRef toSimon Atanasyan2014-04-111-8/+3
| | | | | | | | | StringRef before calling the createSectionAtom() method and reverse conversion inside the method. No functional changes. llvm-svn: 206022
* CodeGen: Handle binary conditional operators in PGO instrumentationJustin Bogner2014-04-113-2/+33
| | | | | | | This treats binary conditional operators in the same way as ternary conditional operators for instrumentation based profiling. llvm-svn: 206021
* [Mips] Rewrite R_MIPS_26 handling test using the yaml2obj tool.Simon Atanasyan2014-04-112-27/+67
| | | | llvm-svn: 206020
* [Mips] Rewrite R_MIPS_32 handling test using the yaml2obj tool.Simon Atanasyan2014-04-112-21/+58
| | | | llvm-svn: 206019
* [Mips] R_MIPS_PC32 relocation support.Simon Atanasyan2014-04-115-0/+70
| | | | llvm-svn: 206018
* [yaml2obj][ELF] ELF Relocations Support.Simon Atanasyan2014-04-114-24/+531
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch implements support for both relocation record formats: Elf_Rel and Elf_Rela. It is possible to define relocation against symbol only. Relocations against sections will be implemented later. Now yaml2obj recognizes X86_64, MIPS and Hexagon relocation types. Example of relocation section specification: Sections: - Name: .text Type: SHT_PROGBITS Content: "0000000000000000" AddressAlign: 16 Flags: [SHF_ALLOC] - Name: .rel.text Type: SHT_REL Info: .text AddressAlign: 4 Relocations: - Offset: 0x1 Symbol: glob1 Type: R_MIPS_32 - Offset: 0x2 Symbol: glob2 Type: R_MIPS_CALL16 The patch reviewed by Michael Spencer, Sean Silva, Shankar Easwaran. llvm-svn: 206017
* Implement depth_first and inverse_depth_first range factory functions.David Blaikie2014-04-1110-45/+45
| | | | | | | | | | | | | | Also updated as many loops as I could find using df_begin/idf_begin - strangely I found no uses of idf_begin. Is that just used out of tree? Also a few places couldn't use df_begin because either they used the member functions of the depth first iterators or had specific ordering constraints (I added a comment in the latter case). Based on a patch by Jim Grosbach. (Jim - you just had iterator_range<T> where you needed iterator_range<idf_iterator<T>>) llvm-svn: 206016
* [c++11] Range'ify use list loops in InstrEmitter.Jim Grosbach2014-04-111-9/+3
| | | | llvm-svn: 206015
* [c++11] Range'ify use list loops in DAGCombiner.Jim Grosbach2014-04-111-18/+7
| | | | llvm-svn: 206014
* [ARM64,C++11] Range'ify use-lists iterators in address type promotion.Jim Grosbach2014-04-111-8/+4
| | | | llvm-svn: 206013
* Cleanup: Add default arguments to CodeGenFunction::StartFunction.Adrian Prantl2014-04-114-16/+12
| | | | | | Thanks dblaikie for the suggestion! llvm-svn: 206012
* Fix handling of redeclaration lookup for using declarations, where the priorRichard Smith2014-04-113-3/+47
| | | | | | | | | | | declaration is not visible. Previously we didn't find hidden friend names in this redeclaration lookup, because we forgot to treat it as a redeclaration lookup. Conversely, we did find some local extern names, but those don't actually conflict with a namespace-scope using declaration, because the only conflicts we can get are scope conflicts, not conflicts due to the entities being members of the same namespace. llvm-svn: 206011
OpenPOWER on IntegriCloud