summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* indvars: sink truncates outside the loop.Andrew Trick2014-01-072-7/+27
| | | | | | | | This is a follow up of the r198338 commit that added truncates for lcssa phi nodes. Sinking the truncates below the phis cleans up the loop and simplifies subsequent analysis within the indvars pass. llvm-svn: 198654
* 80 col. comment.Andrew Trick2014-01-071-2/+2
| | | | llvm-svn: 198653
* ObjectiveC. Computation of offsets when doing @encode type encodingFariborz Jahanian2014-01-071-1/+12
| | | | | | is only used in an assert. Do not do it if assert is not on. llvm-svn: 198652
* clang/test/CodeGenCXX/instr-profile.cpp: Appease -Asserts.NAKAMURA Takumi2014-01-071-0/+3
| | | | | FIXME: Don't seek bb labels, like "if.else" llvm-svn: 198651
* Explicitly enable PRIu64 by defining __STDC_FORMAT_MACROS if it isn'tKaelyn Uhrain2014-01-071-0/+6
| | | | | | yet defined. llvm-svn: 198650
* CodeGen: Sentences end with a periodJustin Bogner2014-01-073-4/+4
| | | | llvm-svn: 198649
* Update the checks in EmulateInstructionARM::GetFramePointerRegisterNumber Jason Molenda2014-01-061-12/+40
| | | | | | | | | | and EmulateInstructionARM::GetFramePointerDWARFRegisterNumber to recognize the Apple arm convention (of using r7 for the frame pointer, regardless of thumb or arm) even if the OS does not match Darwin/MacOSX/iOS. Also corrects the behavior for thumb code on non-Apple platforms. <rdar://problem/14661537> llvm-svn: 198648
* Only include inttypes.h on platforms for which PRIu64 isn't in stdint.hKaelyn Uhrain2014-01-061-1/+4
| | | | llvm-svn: 198647
* [Mips] TargetStreamer Support for .abicalls and .set pic0.Jack Carter2014-01-069-12/+137
| | | | | | | | | | This patch adds .abicalls and .set pic0 support which affects the ELF ABI and its flags. In addition the patch uses a common interface for both the MipsTargetSteamer and MipsObjectStreamer that both the integrated and standalone assemblers will use for the output for these directives. llvm-svn: 198646
* Properly sort CMake list. NFC.Ted Kremenek2014-01-061-6/+6
| | | | llvm-svn: 198645
* Use the PRIu64 macro for printing a uint64_t.Kaelyn Uhrain2014-01-061-1/+2
| | | | | | | | | Otherwise on (some) 64-bit systems, -Wformat will trigger a warning because uint64_t is an 'unsigned long' not an 'unsigned long long'. Consequently, PGOProfiling.c would fail to build if -Werror and -Wformat are both enabled. llvm-svn: 198644
* Implement demangling for user-defined operators.Howard Hinnant2014-01-062-0/+14
| | | | llvm-svn: 198643
* Remove leading underscore from parameters.Rui Ueyama2014-01-061-4/+2
| | | | llvm-svn: 198642
* Rename parameters to fix shadow warnings.Rui Ueyama2014-01-061-3/+4
| | | | llvm-svn: 198641
* CodeGen: Initial instrumentation based PGO implementationJustin Bogner2014-01-0620-59/+1710
| | | | llvm-svn: 198640
* Driver: Accept -fprofile-instr-use and -fprofile-instr-generateJustin Bogner2014-01-066-0/+31
| | | | | | These flags will be used for instrumentation based PGO. llvm-svn: 198639
* profile: Rudimentary suppport for PGO instrumentationJustin Bogner2014-01-063-3/+85
| | | | | | | | This is fairly minimal support for instrumentation based PGO. The data format is inefficient, and the output file name is hardcoded to pgo-data. llvm-svn: 198638
* For the 'C' disassembler API, add a new ReferenceType for theKevin Enderby2014-01-063-0/+7
| | | | | | | | | | | | | | | | | | | SymbolLookUp() call back to return a demangled C++ name to be used as a comment. For example darwin's otool(1) program the uses the llvm disassembler now can produce disassembly like: callq __ZNK4llvm6Target20createMCDisassemblerERKNS_15MCSubtargetInfoE ## llvm::Target::createMCDisassembler(llvm::MCSubtargetInfo const&) const Also fix a bug in LLVMDisasmInstruction() that was not flushing the raw_svector_ostream for the disassembled instruction string before copying it to the output buffer that was causing truncation of the output. rdar://10173828 llvm-svn: 198637
* Improve documentation of the 'a' specifier and the '<abi>:<pref>' align pair.Rafael Espindola2014-01-062-7/+12
| | | | llvm-svn: 198636
* Fix lldb build break due to TypedefNameDecl member signature change.Todd Fiala2014-01-061-1/+1
| | | | | | Patch by Steve Pucci. llvm-svn: 198635
* [PECOFF] Simplify: Replace two-value enum with bool.Rui Ueyama2014-01-065-19/+11
| | | | llvm-svn: 198634
* Fix c++ mode commentsMatt Arsenault2014-01-062-2/+2
| | | | llvm-svn: 198632
* Reapply r198478 "Fix PR18361: Invalidate LoopDispositions after LoopSimplify ↵Andrew Trick2014-01-064-7/+211
| | | | | | | | | | hoists things." Now with a fix for PR18384: ValueHandleBase::ValueIsDeleted. We need to invalidate SCEV's loop info when we delete a block, even if no values are hoisted. llvm-svn: 198631
* Introduce a cmake LLVM_ENABLE_LIBCXX build parameter to compile using libc++ ↵Jean-Daniel Dupas2014-01-062-0/+8
| | | | | | | | | | | | | | instead of the system default Summary: This parameter is required to build C++11 projects (like lld or lldb) on OS X as the default STL does not provide c++ classes. CC: llvm-commits, triton Differential Revision: http://llvm-reviews.chandlerc.com/D2381 llvm-svn: 198625
* Remove dead code.Rafael Espindola2014-01-061-8/+0
| | | | llvm-svn: 198624
* Back out the <type_traits> changes from r198431; they were breaking when ↵Marshall Clow2014-01-062-62/+22
| | | | | | building with glibc. Need to find a better solution for PR18218. llvm-svn: 198623
* Prospective MSVC 2010 build fixAlp Toker2014-01-062-6/+6
| | | | | | | Try to fix Compiler Error C2011 following r198607 by removing enum from 'enum TokenKind' parameter types. llvm-svn: 198621
* Removed extra trailing underscore in #ifdef (__GNUC___ --> __GNUC__ )Marshall Clow2014-01-061-1/+1
| | | | llvm-svn: 198618
* ARM MachO: sort out isTargetDarwin/isTargetIOS/... checks.Tim Northover2014-01-0627-94/+201
| | | | | | | | | | | | | | | | | | The ARM backend has been using most of the MachO related subtarget checks almost interchangeably, and since the only target it's had to run on has been IOS (which is all three of MachO, Darwin and IOS) it's worked out OK so far. But we'd like to support embedded targets under the "*-*-none-macho" triple, which means everything starts falling apart and inconsistent behaviours emerge. This patch should pick a reasonably sensible set of behaviours for the new triple (and any others that come along, with luck). Some choices were debatable (notably FP == r7 or r11), but we can revisit those later when deficiencies become apparent. llvm-svn: 198617
* XCore Target: correct callee save register spilling when callsUnwindInit is ↵Robert Lytton2014-01-063-5/+120
| | | | | | true. llvm-svn: 198616
* XCore target: Lower EH_RETURNRobert Lytton2014-01-065-1/+127
| | | | llvm-svn: 198615
* XCore target: Lower FRAME_TO_ARGS_OFFSETRobert Lytton2014-01-068-0/+128
| | | | | | | | | This requires a knowledge of the stack size which is not known until the frame is complete, hence the need for the XCoreFTAOElim pass which lowers the XCoreISD::FRAME_TO_ARGS_OFFSET instrution into its final form. llvm-svn: 198614
* XCore target: Lower RETURNADDRRobert Lytton2014-01-063-2/+72
| | | | | | Only handles a depth of zero (the same as FRAMEADDR) llvm-svn: 198613
* XCore target: Optimise entsp / retsp selectionRobert Lytton2014-01-063-10/+19
| | | | llvm-svn: 198612
* XCore target: Refactor LR handlingRobert Lytton2014-01-063-48/+72
| | | | | | | | | We also narrow the liveness of FP & LR during the prologue to reflect the actual usage of the registers. I have been unable to construct a test to prove the previous live range was too large. llvm-svn: 198611
* XCore target: Refactor the loading of constants into a registerRobert Lytton2014-01-063-32/+49
| | | | | | This common functionality will be used to lower FRAME_TO_ARGS_OFFSET. llvm-svn: 198610
* XCore target: fix handling of unsized global arrays in large code modelRobert Lytton2014-01-062-4/+54
| | | | llvm-svn: 198609
* Rename several internal templates to get rid of ___ (triple underscores) or ↵Marshall Clow2014-01-063-16/+16
| | | | | | worse, four. No functionality change. llvm-svn: 198608
* Correct underlying integer type of enum TokenKindAlp Toker2014-01-063-10/+7
| | | | | | | | | | This matches up the underlying type against the actual storage type 'unsigned short' and lets us get rid of some casts while we're at it. Effort is made to keep this building in pre-C++11 but as with other features Token will be less efficiently packed in in legacy configurations. llvm-svn: 198607
* Simplify diagnostic tag type using the token kind formatterAlp Toker2014-01-062-9/+3
| | | | | | As far as the parser is concerned the tag type is always a keyword. llvm-svn: 198606
* Don't use magic constants in the digraph diagnosticAlp Toker2014-01-062-19/+4
| | | | llvm-svn: 198605
* Support diagnostic formatting of keyword tokensAlp Toker2014-01-063-7/+25
| | | | | | | | | Implemented with a new getKeywordSpelling() accessor. Unlike getTokenName() the result of this function is stable and may be used in diagnostic output. Uses of this feature are split out into the subsequent commit. llvm-svn: 198604
* Rename getTokenSimpleSpelling() to getPunctuatorSpelling()Alp Toker2014-01-064-5/+5
| | | | | | | That's what it does, what the documentation says it does and what callers expect it to do. llvm-svn: 198603
* ARM: keep special non-AEABIness of "-darwin-eabi" triples for nowTim Northover2014-01-062-2/+7
| | | | | | | | | | Longer term, we want to move users to "*-*-*-macho" for embedded work, but for now people are relying on the last thing we told them, which is unfortunately "*-*-darwin-eabi". rdar://problem/15703934 llvm-svn: 198602
* Highlight the previous underlying enum type when diagnosing a mismatchAlp Toker2014-01-063-1/+13
| | | | | | | | | | | | | | enum-scoped.cpp:93:6: error: enumeration redeclared with different underlying type 'short' (was 'int') enum Redeclare6 : short; ^ enum-scoped.cpp:92:6: note: previous declaration is here enum Redeclare6 : int; ^ ~~~ The redeclaration source range is still missing but this is a step forward, potentially edging towards a FixIt. llvm-svn: 198601
* Diagnose enum redeclarations properlyAlp Toker2014-01-062-7/+7
| | | | | | | | | | | | | | | | | | In all three checks, the note indicates a previous declaration and never a 'use'. Before: enum-scoped.cpp:92:6: note: previous use is here enum Redeclare6 : int; ^ After: enum-scoped.cpp:92:6: note: previous declaration is here enum Redeclare6 : int; ^ llvm-svn: 198600
* Use token kind instead of '%select{.|->}0' in diagnosticAlp Toker2014-01-062-4/+3
| | | | llvm-svn: 198599
* Apply some LLVM_READONLY / LLVM_READNONE on diagnostic functionsAlp Toker2014-01-063-11/+13
| | | | llvm-svn: 198598
* [OpenCL] Produce an error if an address space is used on the returnJoey Gouly2014-01-063-0/+27
| | | | | | type of a function. llvm-svn: 198597
* www: Fix typo IITobias Grosser2014-01-061-1/+1
| | | | llvm-svn: 198596
OpenPOWER on IntegriCloud