summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* prepare for new content.Chris Lattner2010-09-291-52/+46
| | | | llvm-svn: 115030
* fix rdar://8490728 - llvm-mc rejects gpr64 form of 'movmskpd'Chris Lattner2010-09-292-2/+11
| | | | llvm-svn: 115029
* Define _Bool, bool, true, and false macros in <stdbool.h> when we'reDouglas Gregor2010-09-292-1/+21
| | | | | | in a GNU-compatible C++ dialect. Fixes <rdar://problem/8477819>. llvm-svn: 115028
* add assembler support for the cvtsd2sil/cvtsd2siq mnemonics, rdar://8456382Chris Lattner2010-09-292-4/+9
| | | | llvm-svn: 115027
* Move the management of the set of conversion functions in a C++ classDouglas Gregor2010-09-293-47/+45
| | | | | | | | | | into CXXRecordDecl. The only part that we do not handle this way are using declarations, since that would require extra name lookup that we don't currently want to pay for. This fixes <rdar://problem/8459981>, so that LLDB can build a CXXRecordDecl and magically get all of the right bits set. llvm-svn: 115026
* Visit the type information for CXXUnresolvedConstructExpr, just likeCraig Silverstein2010-09-291-15/+21
| | | | | | | we do for the similar CXXTemporaryObjectExpr. OKed by chandlerc and wan. llvm-svn: 115025
* MC-COFF: Fix test. IMAGE_SYM_CLASS_LABEL should never have been emitted.Michael J. Spencer2010-09-291-1/+1
| | | | llvm-svn: 115024
* Updated LLVM to: --revision '{2010-09-28T19:30}'Greg Clayton2010-09-292-89/+24
| | | | | | | | | | | | | | | | This gets us the new clang::CXXRecordDecl improvments in clang so that when we add fields, methods and other things to the clang::CXXRecordDecl, the correct bits are automatically set by clang::CXXRecordDecl itself instead of having SEMA and our lldb_private::ClangASTContext functions that create types for DWARF do it all manually. This allows the clang::ASTContext deep copying of types to work correctly and it means that the expression parser can now evaluate expressions in the context of a class method correctly. Previously when a class was copied from the DWARF generated ASTContext over into the expression ASTContext, we were losing CXXRecordDecl bits in the conversion which caused all classes to think they were at offset zero because the the bools for empty, POD, and others would end up being incorrect. llvm-svn: 115023
* make the x86 mccode emitter emit the 0x67 and 0x66 prefix bytes in the sameChris Lattner2010-09-292-4/+9
| | | | | | order as cctools for diffability. llvm-svn: 115022
* implement support for 32-bit address operands in 64-bit mode, which Chris Lattner2010-09-292-6/+32
| | | | | | are defined to emit the 0x67 prefix byte. rdar://8482675 llvm-svn: 115021
* MC-COFF: Fix symbol storage class for globalsMichael J. Spencer2010-09-291-1/+1
| | | | llvm-svn: 115020
* add basic avx support to the disassembler, also teach it about ssmem/sdmemChris Lattner2010-09-295-20/+33
| | | | | | | | | | operands. With this done, we can remove the _Int suffixes from the round instructions without the disassembler blowing up. This allows the assembler to support them, implementing rdar://8456376 - llvm-mc rejects 'roundss' llvm-svn: 115019
* add asmparser support for cvttpd2dq by removing some Int_ prefixes.Chris Lattner2010-09-293-22/+21
| | | | | | | Clean up cvttps2dq by removing some redundant implementations of the same instruction. rdar://8456382 llvm-svn: 115018
* implement rdar://8456382 - cvtsd2si support, by removing some Int_ prefixes.Chris Lattner2010-09-293-8/+16
| | | | llvm-svn: 115017
* Fixed an LLVM/Clang assertion that would happen for C++ and ObjC methods if ↵Greg Clayton2010-09-291-62/+10
| | | | | | | | the DWARF doesn't specify the accessibility for the method. Currently gcc 4.2 and clang++ do not set the accessibility correctly on methods. We currently shouldn't default to private since public methods don't have the accessibility specified. Bottom line: we currently default to public for both C++ and ObjC if the accessibility isn't set. llvm-svn: 115016
* implement rdar://8456378 and PR7557 - support for the fstsw,Chris Lattner2010-09-294-8/+27
| | | | | | an instruction that requires a WHOLE NEW wonderful kind of alias. llvm-svn: 115015
* change the protocol TargetAsmPArser::MatchInstruction method to take anChris Lattner2010-09-294-29/+29
| | | | | | | MCStreamer to emit into instead of an MCInst to fill in. This allows the matcher extra flexibility and is more convenient. llvm-svn: 115014
* Rework comparison handling to set a register on true/false. This avoidsEric Christopher2010-09-291-18/+28
| | | | | | | | problems with phi-nodes in blocks that have hard and not virtual registers. Accordingly update branch handling to compensate. llvm-svn: 115013
* Fixed the forward declaration issue that was present in the DWARF parser afterGreg Clayton2010-09-2939-394/+609
| | | | | | | | | | | | | | | | | | | | | | | | | | | | adding methods to C++ and objective C classes. In order to make methods, we need the function prototype which means we need the arguments. Parsing these could cause a circular reference that caused an assertion. Added a new typedef for the clang opaque types which are just void pointers: lldb::clang_type_t. This appears in lldb-types.h. This was fixed by enabling struct, union, class, and enum types to only get a forward declaration when we make the clang opaque qual type for these types. When they need to actually be resolved, lldb_private::Type will call a new function in the SymbolFile protocol to resolve a clang type when it is not fully defined (clang::TagDecl::getDefinition() returns NULL). This allows us to be a lot more lazy when parsing clang types and keeps down the amount of data that gets parsed into the ASTContext for each module. Getting the clang type from a "lldb_private::Type" object now takes a boolean that indicates if a forward declaration is ok: clang_type_t lldb_private::Type::GetClangType (bool forward_decl_is_ok); So function prototypes that define parameters that are "const T&" can now just parse the forward declaration for type 'T' and we avoid circular references in the type system. llvm-svn: 115012
* Remove unnecessary set ahead of time.Eric Christopher2010-09-291-2/+1
| | | | llvm-svn: 115011
* Separate itinerary classes for mvn from mov; for tst / teq from cmp / cmn.Evan Cheng2010-09-297-26/+86
| | | | llvm-svn: 115010
* Remove assert, add comment.Eric Christopher2010-09-291-1/+1
| | | | llvm-svn: 115009
* Assign bitwise binary instructions different itinerary classes from ALU ↵Evan Cheng2010-09-297-39/+87
| | | | | | instructions such as add / sub. llvm-svn: 115008
* Move the maintenance of CXXRecordDecl::DefinitionData's Abstract bitDouglas Gregor2010-09-295-84/+144
| | | | | | | | | | | completely into CXXRecordDecl, by adding a new completeDefinition() function. This required a little reshuffling of the final-overrider checking code, since the "abstract" calculation in the presence of abstract base classes needs to occur in CXXRecordDecl::completeDefinition() but we don't want to compute final overriders more than one in the common case. llvm-svn: 115007
* Removed a dreadful hack to get at the name of theSean Callanan2010-09-281-23/+19
| | | | | | | intrinsic being used. Thanks to Chris Lattner for pointing out the proper way to do it. llvm-svn: 115006
* Add support to model pipeline bypass / forwarding.Evan Cheng2010-09-2815-16/+77
| | | | llvm-svn: 115005
* enhance tentative parsing to handle ms extensions, patch by Martin Vejnar!Chris Lattner2010-09-282-1/+10
| | | | llvm-svn: 115004
* And remove r114997's test.Bill Wendling2010-09-281-26/+0
| | | | llvm-svn: 115003
* Revert r114997. It was causing a failure on darwin10-selfhost.Bill Wendling2010-09-282-5/+15
| | | | llvm-svn: 115002
* 32-bit constant ints only for now.Eric Christopher2010-09-281-5/+8
| | | | llvm-svn: 115001
* Removed the @expectedFailure decorator from test_persistent_variables().Johnny Chen2010-09-281-2/+0
| | | | llvm-svn: 115000
* Removed a bunch of unnecessary target_link_libraries.Oscar Fuentes2010-09-2820-39/+4
| | | | llvm-svn: 114999
* Simplified LLVMConfig.Oscar Fuentes2010-09-281-32/+43
| | | | llvm-svn: 114998
* Fix a FIXME. _foo.eh symbols are currently always exported so that the linkerBill Wendling2010-09-282-13/+29
| | | | | | knows about them. This is not necessary on 10.6 and later. llvm-svn: 114997
* When an MDNode changes to become identical to another MDNode,Dan Gohman2010-09-281-5/+4
| | | | | | | | | | | delete the MDNode that changed, rather than the other MDNode. This is less work, because it doesn't require the changed node to be re-inserted into the uniquing map and it doesn't require the is-function-local flag to be recomputed. Also, it avoids trouble when the existing node is part of a complicated data structure. llvm-svn: 114996
* Add a subtarget hook for reporting the misprediction penalty. Use this to ↵Owen Anderson2010-09-284-3/+19
| | | | | | | | | | | provide more precise cost modeling for if-conversion. Now if only we had a way to estimate the misprediction probability. Adjsut CodeGen/ARM/ifcvt10.ll. The pipeline on Cortex-A8 is long enough that it is still profitable to predicate an ldm, but the shorter pipeline on Cortex-A9 makes it unprofitable. llvm-svn: 114995
* Integer materialization needed the same thinko change.Eric Christopher2010-09-281-4/+4
| | | | llvm-svn: 114994
* Teach FunctionDecl::setPure() to (indirectly) mark the Abstract bit inDouglas Gregor2010-09-285-6/+18
| | | | | | CXXRecordDecl::DefinitionData, rather than having Sema mark the bit. llvm-svn: 114993
* Resolve this GCC warning:Nick Lewycky2010-09-281-1/+2
| | | | | | ARMTargetMachine.cpp:53: error: control reaches end of non-void function llvm-svn: 114992
* User proper libcall names & condcodes while compiling for ARM EABI.Anton Korobeynikov2010-09-282-7/+151
| | | | | | Patch by Evzen Muller! llvm-svn: 114991
* Fixed two bugs in the expression parser:Sean Callanan2010-09-281-8/+44
| | | | | | | | | | | | - the guard variable for the static result variable was being mistaken for the actual result value, causing IRForTarget to fail - LLVM builtins like memcpy were not being properly resolved; now they are resolved to the corresponding function in the target llvm-svn: 114990
* Add test case for <rdar://problem/8452791> (fixed in r114392).Ted Kremenek2010-09-281-0/+7
| | | | llvm-svn: 114989
* Added TestIntegerTypesExpr.py and TestFloatTypesExpr.py which exercise 'expr'Johnny Chen2010-09-283-0/+313
| | | | | | | | | | | | command on the various basic types, similar to TestIntegerTypes.py and TestFloatTypes.py, which exercise 'frame variable' on the various basic types. Right now, they don't employ the self.expect() facility to compare against the golden output. They just invoke the self.runCmd() method to run the 'expr' command. Decorated the two classes with @unittest2.skip decorators for the time being. llvm-svn: 114987
* Scope a varible inside an if statement, to make it clear thatDan Gohman2010-09-281-3/+1
| | | | | | it's not used afterwards. llvm-svn: 114986
* Reinstate r114925 and r114929, both steps towardDouglas Gregor2010-09-287-124/+80
| | | | | | <rdar://problem/8459981>. llvm-svn: 114984
* vla expressions used in __typeof__ must be evaluated.Fariborz Jahanian2010-09-287-19/+66
| | | | | | Fixes rdar://8476159. llvm-svn: 114982
* Give the if-converter access to MachineLoopInfo, and use it to generate ↵Owen Anderson2010-09-281-16/+50
| | | | | | | | plausible branch prediction estimates. llvm-svn: 114981
* Centralize the management of CXXRecordDecl::DefinitionData's Empty bitDouglas Gregor2010-09-286-30/+51
| | | | | | | | | | | | in CXXRecordDecl itself. Yes, this is also part of <rdar://problem/8459981>. This reinstates r114924, with one crucial bug fix: we were ignoring the implicit fields created by anonymous structs/unions when updating the bits in CXXRecordDecl, which means that a class/struct containing only an anonymous class/struct would be considered "empty". Hilarity follows. llvm-svn: 114980
* Follow-up to r114978, used wrong tag.Sebastian Redl2010-09-281-1/+1
| | | | llvm-svn: 114979
* Move ExternalSemaSource::ReadMethodPool's implementation to Sema.cpp so that ↵Sebastian Redl2010-09-282-5/+9
| | | | | | the header can get away with forward declarations only for ObjCMethodList and Selector. Fixes <rdar://8467631>. llvm-svn: 114978
OpenPOWER on IntegriCloud