summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [libclang] In visitPreprocessedEntitiesInRange we are interested in a file ↵Argyrios Kyrtzidis2011-12-211-2/+2
| | | | | | | | region so translate the range to file locations. llvm-svn: 147058
* Fix bugs in SourceManager::computeMacroArgsCache() and add a unit test for it.Argyrios Kyrtzidis2011-12-213-5/+99
| | | | llvm-svn: 147057
* For SourceManager::isBeforeInTranslationUnit(), have it consider macro arg ↵Argyrios Kyrtzidis2011-12-216-8/+117
| | | | | | | | | | expanded token locations as coming before the closing ')' of a function macro expansion. Include a unit test for SourceManager. llvm-svn: 147056
* Implement a trivial, obvious optimization for deserialization ofDouglas Gregor2011-12-211-2/+2
| | | | | | | | | | redeclaration chains: only ever have the reader search for redeclarations of the first (canonical) declaration, since we only ever record redeclaration ranges for the that declaration. Searching for redeclarations of non-canonical declarations will never find anything, so it's a complete waste of time. llvm-svn: 147055
* Add const.Rafael Espindola2011-12-211-1/+1
| | | | llvm-svn: 147054
* Small refactoring so that RelocNeedsGOT can stay in the target independentRafael Espindola2011-12-212-24/+16
| | | | | | side when the target specific bits are moved to the Target directory. llvm-svn: 147053
* Removes unused field TheError from LLLexer.Manuel Klimek2011-12-211-1/+0
| | | | llvm-svn: 147049
* Add a few more AVX2 intrinsics and fix the type strings on a couple SSE ↵Craig Topper2011-12-213-2/+26
| | | | | | intrinsics. llvm-svn: 147048
* Add AVX2 horizontal add/sub intrinsics.Craig Topper2011-12-213-0/+72
| | | | llvm-svn: 147047
* Remove mode specific disassembler classes and just call ↵Craig Topper2011-12-213-43/+7
| | | | | | X86GenericDisassembler constructor with appropriate argument in the creation functions. This removes a few tables that needed to be anchored. llvm-svn: 147046
* Fix typo in a couple commentsCraig Topper2011-12-211-3/+3
| | | | llvm-svn: 147045
* A call to a function marked 'noinline' is not an inline candidate. The soleNick Lewycky2011-12-211-4/+4
| | | | | | | call site of an intrinsic is also not an inline candidate. While here, make it more obvious that this code ignores all intrinsics. Noticed by inspection! llvm-svn: 147037
* Make some intrinsics safe to speculatively execute.Nick Lewycky2011-12-213-7/+53
| | | | llvm-svn: 147036
* constexpr: diagnostic improvements for invalid lvalue-to-rvalue conversions inRichard Smith2011-12-216-74/+233
| | | | | | constant expressions. llvm-svn: 147035
* Bump suitable alignment on darwin ppc 32/64 and x86-32 to 16 bytes. I don'tNick Lewycky2011-12-211-1/+3
| | | | | | actually know about the other OSes on X86-32 besides Linux... llvm-svn: 147034
* Bump version number past lldb-98.Jason Molenda2011-12-212-16/+16
| | | | llvm-svn: 147033
* Fix a couple of copy-n-paste bugs. Noticed by George Russell.Evan Cheng2011-12-212-6/+28
| | | | llvm-svn: 147032
* C++11 half of r147023: In C++11, additionally eagerly instantiate:Richard Smith2011-12-216-37/+54
| | | | | | | | - constexpr function template instantiations - variables of reference type - constexpr variables llvm-svn: 147031
* Attempt to fix test on 32-bit hosts.Eli Friedman2011-12-211-1/+1
| | | | llvm-svn: 147030
* Tightened Clang against a bug in which RecordDeclsSean Callanan2011-12-215-8/+40
| | | | | | | | with incomplete definition data were being converted. Now Clang attempts to complete RecordDecls before converting them, avoiding a nasty crash. llvm-svn: 147029
* ARM assembly parsing allows constant expressions for lane indices.Jim Grosbach2011-12-211-14/+25
| | | | llvm-svn: 147028
* Regenerate.Eric Christopher2011-12-211-68/+68
| | | | llvm-svn: 147027
* Fix a case where Expr::isConstantInitializer would return true for an ↵Eli Friedman2011-12-212-10/+24
| | | | | | expression we can't support. In a slightly amusing twist, the case in question was already in the clang regression tests marked as a valid construct. <rdar://problem/10020074> llvm-svn: 147026
* ARM NEON VLD2 assembly parsing for structure to all lanes, non-writeback.Jim Grosbach2011-12-217-17/+59
| | | | llvm-svn: 147025
* Fix bug in zero-store peephole pattern reported in pr11615.Akira Hatanaka2011-12-212-4/+27
| | | | | | The patch and test case were originally written by Mans Rullgard. llvm-svn: 147024
* C++ constant expression handling: eagerly instantiate static const integral dataRichard Smith2011-12-214-5/+14
| | | | | | | | members of class templates so that their values can be used in ICEs. This required reverting r105465, to get such instantiated members to be included in serialized ASTs. llvm-svn: 147023
* Expand 64-bit CTLZ nodes if target architecture does not support it. Add testAkira Hatanaka2011-12-212-1/+22
| | | | | | case for DCLO and DCLZ. llvm-svn: 147022
* Expand 64-bit CTPOP and CTTZ.Akira Hatanaka2011-12-211-0/+2
| | | | llvm-svn: 147021
* objc QOI: Don't't warn about mismatch between attributes Fariborz Jahanian2011-12-211-2/+5
| | | | | | | on method declaration and definition if former is in a system header. // rdar://10580333 llvm-svn: 147020
* Expand 64-bit atomic load and store.Akira Hatanaka2011-12-211-0/+2
| | | | llvm-svn: 147019
* Test case for r147017.Akira Hatanaka2011-12-201-0/+25
| | | | llvm-svn: 147018
* Add definition of DSBH (Double Swap Bytes within Halfwords) and Akira Hatanaka2011-12-202-1/+9
| | | | | | | DSHD (Double Swap Halfwords within Doublewords). Add a pattern which replaces 64-bit bswap with a DSBH and DSHD pair. llvm-svn: 147017
* Fixed a bug in the ASTImporter that affectsSean Callanan2011-12-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | types that have been imported multiple times. The discussion below uses this diagram: ASTContext A B C Decl Da Db Dc ASTImporter \-Iab-/\-Iac-/ \-----Iac----/ When a Decl D is imported from ASTContext A to ASTContext B, the ASTImporter Iab records the pair <Da, Db> in a DenseMap. That way, if Iab ever encounters Da again (for example, as the DeclContext for another Decl), it can use the imported version. This is not an optimization, it is critical: if I import the field "st_dev" as part of importing "struct stat," the field must have DeclContext equal to the parent structure or we end up with multiple different Decls containing different parts of "struct stat." "struct stat" is imported once and recorded in the DenseMap; then the ASTImporter finds that same version when looking for the DeclContext of "st_dev." The bug arises when Db is imported into another ASTContext C and ASTContext B goes away. This often occurs when LLDB produces result variables for expressions. Ibc is aware of the transport of Db to Dc, but a brand new ASTImporter, Iac, is responsible for completing Dc from its source upon request. That ASTImporter has no mappings, so it will produce a clone of Dc when attempting to import its children. That means that type completion operations on Dc will fail. The solution is to create Iac as soon as Ibc imports D from B to C, and inform Iac of the mapping between Da and Dc. This allows type completion to happen correctly. llvm-svn: 147016
* Add definition of WSBH (Word Swap Bytes within Halfwords), which is anAkira Hatanaka2011-12-202-8/+10
| | | | | | | | | | instruction supported by mips32r2, and add a pattern which replaces bswap with a ROTR and WSBH pair. WSBW is removed since it is not an instruction the current architectures support. llvm-svn: 147015
* 64-bit uint-fp conversion nodes are expanded.Akira Hatanaka2011-12-201-0/+2
| | | | llvm-svn: 147014
* Enable custom lowering DYNAMIC_STACKALLOC nodes.Akira Hatanaka2011-12-201-0/+1
| | | | llvm-svn: 147013
* Set the correct stack pointer register that should be saved or restored.Akira Hatanaka2011-12-201-1/+1
| | | | llvm-svn: 147012
* Enable and fix a test.Jim Grosbach2011-12-201-2/+2
| | | | llvm-svn: 147011
* Fix a nasty bug in the type remapping stuff that I added that is breaking ↵Chris Lattner2011-12-201-1/+8
| | | | | | | | | | | | | | | | kc++ on the build bot in some cases. The basic issue happens when a source module contains both a "%foo" type and a "%foo.42" type. It will see the later one, check to see if the destination module contains a "%foo" type, and it will return true... because both the source and destination modules are in the same LLVMContext. We don't want to map source types to other source types, so don't do the remapping if the mapped type came from the source module. Unfortunately, I've been unable to reduce a decent testcase for this, kc++ is pretty great that way. llvm-svn: 147010
* ARM .req register name aliases are case insensitive, just like regnames.Jim Grosbach2011-12-201-3/+4
| | | | llvm-svn: 147009
* Add function MipsDAGToDAGISel::SelectMULT and factor out code that generatesAkira Hatanaka2011-12-202-37/+55
| | | | | | | nodes needed for multiplication. Add code for selecting 64-bit MULHS and MULHU nodes. llvm-svn: 147008
* Fix indentation.Akira Hatanaka2011-12-201-115/+115
| | | | llvm-svn: 147007
* PR11297: Provide a better diagnostic for code which contains aRichard Smith2011-12-203-0/+40
| | | | | | | | reasonable-looking but ill-formed for-range statement of the form: for (expression : expression) llvm-svn: 147006
* 64-bit data directive.Akira Hatanaka2011-12-202-1/+12
| | | | llvm-svn: 147005
* 32-to-64-bit sext_inreg pattern.Akira Hatanaka2011-12-202-0/+13
| | | | llvm-svn: 147004
* Add 64-bit extload patterns.Akira Hatanaka2011-12-201-2/+12
| | | | llvm-svn: 147003
* [analyzer] Do not invalidate arguments when the parameter'sAnna Zaks2011-12-208-11/+152
| | | | | | | | | | | | | type is a pointer to const. (radar://10595327) The regions corresponding to the pointer and reference arguments to a function get invalidated by the calls since a function call can possibly modify the pointed to data. With this change, we are not going to invalidate the data if the argument is a pointer to const. This change makes the analyzer more optimistic in reporting errors. (Support for C, C++ and Obj C) llvm-svn: 147002
* Add patterns for matching extloads with 64-bit address. The patterns are enabledAkira Hatanaka2011-12-201-5/+13
| | | | | | only when the target ABI is N64. llvm-svn: 147001
* Move comment to appropriate place.Jim Grosbach2011-12-201-1/+1
| | | | llvm-svn: 147000
* Add code in MipsDAGToDAGISel for selecting constant +0.0.Akira Hatanaka2011-12-202-0/+13
| | | | | | MIPS64 can generate constant +0.0 with a single DMTC1 instruction. llvm-svn: 146999
OpenPOWER on IntegriCloud