summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed issues with ptr_refs:Greg Clayton2014-01-071-129/+129
| | | | | | | - If there is only 1 frame ptr_refs now works (fixed issue with stack detection) - Fixed test for result now that it isn't a pointer anymore llvm-svn: 198712
* [analyzer] Files with .c extensions are still C++ files if the compiler is CXX.Jordan Rose2014-01-071-4/+10
| | | | | | PR18339 llvm-svn: 198711
* [analyzer] Pointers escape into +[NSValue valueWithPointer:]...Jordan Rose2014-01-075-3/+25
| | | | | | | | | | ...even though the argument is declared "const void *", because this is just a way to pass pointers around as objects. (Though NSData is often a better one.) PR18262 llvm-svn: 198710
* [analyzer] Remove unused ARCNotOwnedSymbol retain count return effect.Jordan Rose2014-01-072-9/+3
| | | | | | | | | | | | RetainCountChecker has to track returned object values to know if they are retained or not. Under ARC, even methods that return +1 are tracked by the system and should be treated as +0. However, this effect behaves exactly like NotOwned(ObjC), i.e. a generic Objective-C method that actually returns +0, so we don't need a special case for it. No functionality change. llvm-svn: 198709
* Move the llvm mangler to lib/IR.Rafael Espindola2014-01-0741-40/+39
| | | | | | This makes it available to tools that don't link with target (like llvm-ar). llvm-svn: 198708
* In the ELFWriter when writing aliased (.set) symbols dont blindlyRoman Divacky2014-01-072-1/+233
| | | | | | | | | | | | take type from the new symbol but merge them so that the type is never "downgraded". This is probably quite rare, except for IFUNC symbols which we used to misassemble, losing the IFUNC type. Fixes #18372. llvm-svn: 198706
* Updating the documentation about how to add attributes based on the rather ↵Aaron Ballman2014-01-071-21/+124
| | | | | | extensive refactorings that have happened over the past several months. llvm-svn: 198705
* [cmake] Write Version.inc at cmake time, not at build time.Nico Weber2014-01-071-14/+7
| | | | | | | | In SVN checkouts, clang_revision_tag is rerun on every build, even if nothing else is dirty. After this change, Version.inc is only written at cmake time, so that empty builds run 0 build steps (like r191784 apparently did for git). llvm-svn: 198704
* Run llvm/utils/sort_includes.py over the Clang tools code. This doesn'tChandler Carruth2014-01-0730-47/+36
| | | | | | | | | | always produce as pretty of results as it does in LLVM and Clang, but I don't mind and the value of having a single canonical ordering is very high IMO. Let me know if you spot really serious problems here. llvm-svn: 198703
* Fix uninitialized variable warning in DataLayout.Cameron McInally2014-01-071-2/+2
| | | | llvm-svn: 198702
* Don't assert with private type info variables.Rafael Espindola2014-01-072-3/+21
| | | | | | | With the gnu objc runtime private strings are used. Since we only need to produce a unique label, the fix is to just drop the asserts. llvm-svn: 198701
* Emit arange padding with a single directive.Benjamin Kramer2014-01-073-17/+6
| | | | llvm-svn: 198700
* Debug info: Implement a cleaner version of r198461. For symmetry withAdrian Prantl2014-01-078-22/+15
| | | | | | | | | C and C++ don't emit an extra lexical scope for the compound statement that is the body of an Objective-C method. rdar://problem/15010825 llvm-svn: 198699
* Replace casts of __impl_ with the correct reinterpret_cast of theJoerg Sonnenberger2014-01-071-16/+16
| | | | | | address. Restores the assembly of before r198504. llvm-svn: 198698
* Add ARM fconsts/fconstd aliases for vmov.f32/vmov.f64David Peixotto2014-01-075-7/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the pre-UAL aliases of fconsts and fconstd for vmov.f32 and vmov.f64. They use an InstAlias rather than a MnemonicAlias to properly support the predicate operand. We need to support encoded 8-bit constants in order to implement the pre-UAL fconsts/fconstd aliases for vmov.f32/vmov.f64, so this commit also fixes parsing of encoded floating point constants used in vmov.f32/vmov.f64 instructions. Now we can support assembly code like this: fconsts s0, #0x70 which is equivalent to vmov.f32 s0, #1.0. Most of the code was already in place to support this feature. Previously the code was trying to accept encoded 8-bit float constants for the vmov.f32/vmov.f64 instructions. It looks like the support for parsing encoded floats was lost in a refactoring in commit r148556 and we did not have any tests in place to catch it. The change in this commit is to keep the parsed value as a 32-bit float instead of a 64-bit double because that is what the isFPImm() function expects to find. There is no loss of precision by using a 32-bit float here because we are still limited to an 8-bit encoded value in the end. Additionally, we explicitly reject encoded 8-bit floats for vmovf.32/64. This is the same as the current behavior, but we now do it explicitly rather than accidently. llvm-svn: 198697
* [arm] Fix an incorrect comment in ARMUnwindOpAsm.h.Logan Chien2014-01-071-1/+1
| | | | llvm-svn: 198696
* Shorten the output of `clang-format --version`, include revision number.Nico Weber2014-01-073-1/+15
| | | | | | | | | | | | | | | | | Before: $ clang-format --version LLVM (http://llvm.org/): LLVM version 3.5svn Optimized build with assertions. Built Jan 3 2014 (14:28:46). Default target: x86_64-apple-darwin13.0.0 Host CPU: core-avx-i Now: $ bin/clang-format --version clang-format version 3.5 (198452) llvm-svn: 198694
* Initial checkin of new module-map-checker tool.John Thompson2014-01-0728-2/+996
| | | | llvm-svn: 198693
* Remove unused include.Rafael Espindola2014-01-071-1/+0
| | | | llvm-svn: 198692
* Update #include paths for r198688 in LLVM that moved headers in the AssemblyChandler Carruth2014-01-0713-13/+13
| | | | | | directory to their proper homes. llvm-svn: 198691
* Try to fix the windows build. The comments in other files don't seem toChandler Carruth2014-01-072-7/+8
| | | | | | be quite accurate. =] llvm-svn: 198690
* Update Clang for the move of headers in r198688.Chandler Carruth2014-01-071-1/+1
| | | | llvm-svn: 198689
* Move the LLVM IR asm writer header files into the IR directory, as theyChandler Carruth2014-01-0768-81/+81
| | | | | | | | | | | | | | | | | are part of the core IR library in order to support dumping and other basic functionality. Rename the 'Assembly' include directory to 'AsmParser' to match the library name and the only functionality left their -- printing has been in the core IR library for quite some time. Update all of the #includes to match. All of this started because I wanted to have the layering in good shape before I started adding support for printing LLVM IR using the new pass infrastructure, and commandline support for the new pass infrastructure. llvm-svn: 198688
* Sort all the #include lines with LLVM's utils/sort_includes.py whichChandler Carruth2014-01-0788-123/+105
| | | | | | | encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up Clang as well. llvm-svn: 198686
* Re-sort all of the includes with ./utils/sort_includes.py so thatChandler Carruth2014-01-07211-366/+333
| | | | | | | | | | subsequent changes are easier to review. About to fix some layering issues, and wanted to separate out the necessary churn. Also comment and sink the include of "Windows.h" in three .inc files to match the usage in Memory.inc. llvm-svn: 198685
* [AArch64]Add support to spill/fill D tuples such as DPair/DTriple/DQuad. ↵Hao Liu2014-01-074-11/+77
| | | | | | There is no test cases for D tuple as the original test cases are too large. As the spill/fill of the D tuple is similar to the Q tuple, the correctness can be guaranteed. llvm-svn: 198684
* [CMake] Introduce llvm_update_compile_flags(target_name) to update compile ↵NAKAMURA Takumi2014-01-071-24/+36
| | | | | | | | flags in target properties. FIXME: Just add_unittest() is using it. FIXME: Cooperate with source properties. llvm-svn: 198683
* [AArch64]Add support to copy D tuples such as DPair/DTriple/DQuad and Q ↵Hao Liu2014-01-073-1/+101
| | | | | | tuples such as QPair/QTriple/QQuad. There is no test case for D tuple as the original test cases are too large. As the copy of the D tuple is similar to the Q tuple, the correctness can be guaranteed. llvm-svn: 198682
* [Sparc] Add support for parsing sparc asm modifiers such as %hi, %lo etc., Venkatraman Govindaraju2014-01-076-26/+132
| | | | | | Also, correct the offsets for FixupsKindInfo. llvm-svn: 198681
* For areVectorOperandsLaxBitCastable(), only return false if both opearands ↵Argyrios Kyrtzidis2014-01-073-15/+29
| | | | | | | | | | are vector types and add a diagnostic when the operand is a vector and non-scalar value. rdar://15722301 llvm-svn: 198680
* Fix for PR18396: Assertion: MO->isDead "Cannot fold physreg def".Andrew Trick2014-01-072-4/+51
| | | | | | InlineSpiller::foldMemoryOperand needs to handle undef call operands. llvm-svn: 198679
* Reapply r198654 "indvars: sink truncates outside the loop."Andrew Trick2014-01-072-7/+27
| | | | | | | | | | | This doesn't seem to have actually broken anything. It was paranoia on my part. Trying again now that bots are more stable. 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: 198678
* Fix a -Wparentheses warning from GCC that caught a badly formed assert.Chandler Carruth2014-01-071-1/+1
| | | | | | | I have no idea why Clang's warning doesn't fire here, looks like a Clang bug. I'll investigate that separately. llvm-svn: 198677
* SDKs: Add inttypes.h to the darwin SDK stubJustin Bogner2014-01-071-0/+86
| | | | | | | | This unbreaks the configure build on darwin, where we build with the stub SDK in -isysroot. Oddly, the cmake build doesn't have this restriction, which probably means the cmake configs are out of date. llvm-svn: 198676
* [AArch64 NEON] Fixed incorrect immediate used in BIC instruction.Kevin Qin2014-01-072-36/+541
| | | | llvm-svn: 198675
* CodeGen: Include llvm/Config/config.h for strtoll on WindowsJustin Bogner2014-01-071-0/+1
| | | | llvm-svn: 198672
* Fix 'unkown' typo in test -target from r198321Alp Toker2014-01-071-1/+1
| | | | llvm-svn: 198671
* update comment.Adrian Prantl2014-01-071-1/+1
| | | | llvm-svn: 198670
* Bring back magic constants in the digraph diagnosticAlp Toker2014-01-073-6/+21
| | | | | | | | This backs out changes in commit r198605 and part of r198604, replacing the original tok::kw_template with a slightly more obvious placeholder tok::unknown. llvm-svn: 198666
* ARM IAS: allow more depth in contextual diagnosticsSaleem Abdulrasool2014-01-072-20/+60
| | | | | | | Switch the context to be SmallVectors. This allows for saving additional context when providing previous emission sites. llvm-svn: 198665
* ARM IAS: refactor unwind contextSaleem Abdulrasool2014-01-072-57/+95
| | | | | | | | Move the unwinding context for the ARM IAS into a helper class. This is purely a structural refactoring. A follow up change allows for recording additional depth to improve diagnostics. llvm-svn: 198664
* ARM Streamer: print out tag namesSaleem Abdulrasool2014-01-071-5/+22
| | | | | | If using verbose asm, print out the friendly name of the tag if possible. llvm-svn: 198663
* ARM IAS: improve .eabi_attribute handlingSaleem Abdulrasool2014-01-0710-24/+394
| | | | | | | | Parse tag names as well as expressions. The former is part of the specification, the latter is for improved compatibility with the GNU assembler. Fix attribute value handling to be comformant to the specification. llvm-svn: 198662
* MCParser: introduce Note and use it for ARM AsmParserSaleem Abdulrasool2014-01-075-11/+24
| | | | | | | | Introduce a new virtual method Note into the AsmParser. This completements the existing Warning and Error methods. Use the new method to clean up the output of the unwind routines in the ARM AsmParser. llvm-svn: 198661
* Fix comment of findGCD.Mingjie Xing2014-01-071-2/+2
| | | | llvm-svn: 198660
* Revert "indvars: sink truncates outside the loop."Andrew Trick2014-01-072-27/+7
| | | | | | | | This reverts commit r198654. One of the bots reported a SciMark failure. llvm-svn: 198659
* [Sparc] Add support for parsing memory operands in sparc AsmParser.Venkatraman Govindaraju2014-01-074-49/+202
| | | | llvm-svn: 198658
* Revert "Only include inttypes.h on platforms for which PRIu64 isn't in stdint.h"Justin Bogner2014-01-071-4/+1
| | | | | | This reverts commit e7778e08878d0c61903205428eeb131db9d11b3c. llvm-svn: 198657
* Revert "Explicitly enable PRIu64 by defining __STDC_FORMAT_MACROS if it isn't"Justin Bogner2014-01-071-6/+0
| | | | | | This reverts commit d1b5d3b0e885ef057643fcea99bff8b6cce04b93. llvm-svn: 198656
* Implement a new -fstandalone-debug option. rdar://problem/15685848Adrian Prantl2014-01-0715-42/+88
| | | | | | | | | | | | | | It controls everything that -flimit-debug-info used to, plus the vtable type optimization. The old -fno-limit-debug-info option is now an alias to -fstandalone-debug and vice versa. Standalone is the default on Darwin until dtrace is updated to work with non-standalone debug info (rdar://problem/15758808). Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind because NoStandaloneDebugInfo sounded even more confusing. llvm-svn: 198655
OpenPOWER on IntegriCloud