summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* move the pic base symbol stuff up to MachineFunctionChris Lattner2010-11-1410-46/+24
| | | | | | | since it is trivial and will be shared between ppc and x86. This substantially simplifies the X86 backend also. llvm-svn: 119089
* simplify getPICBaseSymbol a bit.Chris Lattner2010-11-144-8/+8
| | | | llvm-svn: 119088
* reimplement ppc asmprinter "toc" handling to use a VariantKindChris Lattner2010-11-144-5/+32
| | | | | | | | on the operand, required for .o file writing and fixing the PowerPC/mult-alt-generic-powerpc64.ll failure with the new instprinter. llvm-svn: 119087
* add some nounwind's.Chris Lattner2010-11-145-6/+6
| | | | llvm-svn: 119086
* Just like functions can have a basename and a mangled/demangled name, variableGreg Clayton2010-11-1410-80/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | can too. So now the lldb_private::Variable class has support for this. Variables now have support for having a basename ("i"), and a mangled name ("_ZN12_GLOBAL__N_11iE"), and a demangled name ("(anonymous namespace)::i"). Nowwhen searching for a variable by name, users might enter the fully qualified name, or just the basename. So new test functions were added to the Variable and Mangled classes as: bool NameMatches (const ConstString &name); bool NameMatches (const RegularExpression &regex); I also modified "ClangExpressionDeclMap::FindVariableInScope" to also search for global variables that are not in the current file scope by first starting with the current module, then moving on to all modules. Fixed an issue in the DWARF parser that could cause a varaible to get parsed more than once. Now, once we have parsed a VariableSP for a DIE, we cache the result even if a variable wasn't made so we don't do any re-parsing. Some DW_TAG_variable DIEs don't have locations, or are missing vital info that stops a debugger from being able to display anything for it, we parse a NULL variable shared pointer for these DIEs so we don't keep trying to reparse it. llvm-svn: 119085
* lower PPC::MFCRpseud when transforming to MC, avoiding callingChris Lattner2010-11-142-2/+18
| | | | | | the aborting printSpecial() method. This gets us to 8 failures. llvm-svn: 119084
* make the stubbed-out printer methods abort instead of Chris Lattner2010-11-142-3/+18
| | | | | | printing nothing. This gets us back up to 24 failures. llvm-svn: 119083
* wire up a few more things, down to 4 test failures, allChris Lattner2010-11-142-19/+39
| | | | | | about handling $stub, lo/hi etc. llvm-svn: 119082
* properly wire up the instprinter to the ppc64 backend, down to 5 failures.Chris Lattner2010-11-141-1/+1
| | | | llvm-svn: 119081
* implement pretty printing support for the various pseudoChris Lattner2010-11-141-0/+45
| | | | | | | ops the asmprinter supported, fixing PowerPC/rlwimi2.ll among others. Down to 20 failures. llvm-svn: 119080
* Wire up symbol hi/lo printing. We don't print hi()/lo(), but this getsChris Lattner2010-11-142-4/+17
| | | | | | us further along. Only 28 failures now. llvm-svn: 119079
* implement basic support for symbol operand lowering,Chris Lattner2010-11-143-3/+63
| | | | | | and printing support for call operands. Down to 77 failures. llvm-svn: 119078
* Detect presence of AsmPrinter's. Remove some cruft too.Oscar Fuentes2010-11-141-9/+9
| | | | llvm-svn: 119077
* Updated CMake library dependencies.Oscar Fuentes2010-11-141-32/+32
| | | | llvm-svn: 119076
* trim #includes.Chris Lattner2010-11-141-5/+1
| | | | llvm-svn: 119075
* switch PPC to a simplified MCInstLowering model.Chris Lattner2010-11-144-92/+13
| | | | llvm-svn: 119074
* Fix another case of a .comm directive without a corresponding .typeRafael Espindola2010-11-142-5/+19
| | | | | | directive. llvm-svn: 119073
* fix PPC.h to not pull in TargetMachine.hChris Lattner2010-11-141-2/+2
| | | | llvm-svn: 119072
* rename LowerToMCInst -> LowerARMMachineInstrToMCInst.Chris Lattner2010-11-143-5/+7
| | | | llvm-svn: 119071
* even more simplifications. ARM MCInstLowering is now justChris Lattner2010-11-144-60/+19
| | | | | | | a single function instead of a class. It doesn't need the complexity that X86 does. llvm-svn: 119070
* hopefully unbreak the cmake build, patch by frits van bommel.Chris Lattner2010-11-141-1/+2
| | | | llvm-svn: 119069
* more shrinkificationChris Lattner2010-11-142-10/+1
| | | | llvm-svn: 119068
* more simplifications.Chris Lattner2010-11-142-92/+18
| | | | llvm-svn: 119067
* simplify and tidy upChris Lattner2010-11-143-41/+16
| | | | llvm-svn: 119066
* implement basic support for memory operands and crbit operands,Chris Lattner2010-11-142-5/+72
| | | | | | this fixes 3 more ppc tests. llvm-svn: 119065
* CMakeLists.txt: removed mismatched endif predicate.Oscar Fuentes2010-11-141-1/+1
| | | | llvm-svn: 119064
* implement several trivial operand printers, reducingChris Lattner2010-11-142-6/+56
| | | | | | failures in CodeGen/PowerPC from 120 -> 117 llvm-svn: 119063
* Implement support for printing register and immediate operands,Chris Lattner2010-11-143-6/+46
| | | | | | | | | | | | | | add support for darwin vs aix syntax. We now can print instructions like this: add r3, r3, r4 blr and (in aix mode): add 3, 3, 4 blr llvm-svn: 119062
* stub out PPCMCInstLowering, add a new option that uses it and the newChris Lattner2010-11-144-0/+154
| | | | | | instprinter when -enable-ppc-inst-printer is passed to llc. llvm-svn: 119061
* Fix the type of a symbol created with .comm and no corresponding .type.Rafael Espindola2010-11-142-0/+13
| | | | llvm-svn: 119060
* stub out a powerpc MCInstPrinter implementation.Chris Lattner2010-11-147-2/+145
| | | | llvm-svn: 119059
* hopefully fix cmake as well.Chris Lattner2010-11-141-2/+5
| | | | llvm-svn: 119058
* fix the autoconf script to detect "has asmprinter"ness of a target byChris Lattner2010-11-143-10/+5
| | | | | | | looking for lib/Target/*AsmPrinter.cpp. Fix llvm-config to handle targets that don't have an explicit AsmPrinter library. llvm-svn: 119057
* move all the target's asmprinters into the main target. The piece Chris Lattner2010-11-1441-193/+16
| | | | | | | that should be split out is the InstPrinter (if a target is mc'ized). This change makes all the targets be consistent. llvm-svn: 119056
* If dom tree information is available, make it possible to passDuncan Sands2010-11-146-11/+16
| | | | | | it to get better phi node simplification. llvm-svn: 119055
* move PPCAsmPrinter into the main PPC library, like ARM and X86.Chris Lattner2010-11-145-22/+2
| | | | llvm-svn: 119054
* fix cmakeChris Lattner2010-11-141-1/+0
| | | | llvm-svn: 119053
* no alpha jit support.Chris Lattner2010-11-141-1/+1
| | | | llvm-svn: 119052
* remove JIT support from the Alpha backend. The JIT will be moving to MC, Chris Lattner2010-11-1411-608/+4
| | | | | | and the Alpha backend isn't MCized yet. Approved by Andrew. llvm-svn: 119051
* Segregate tests by target.Dale Johannesen2010-11-148-0/+12
| | | | llvm-svn: 119050
* random acts of tidiness.Chris Lattner2010-11-141-10/+5
| | | | llvm-svn: 119049
* Revert r119045. It was failing on Windows.Ted Kremenek2010-11-141-26/+56
| | | | llvm-svn: 119048
* "Fix" some unintentional fallout from convertingTed Kremenek2010-11-142-4/+13
| | | | | | | | | | | | | | | | | | | | the Stmt* visitation in CursorVisitor to be data-recursive. Since AnnotationTokensWorker explicitly calls CursorVisitor::VisitChildren(), it essentially transforms the data-recursive algorithm in CursorVisitor back into a non-data recursive one. This is particularly bad because the data-recursive algorithm uses more stack space per stack frame, which can cause us to blow the stack in some cases. "Fix" this by making the stack that AnnotationTokensWorker runs in really huge. The real fix is to modify AnnotationTokensWorker not to do the explicit recursive call. llvm-svn: 119047
* Clean up initialization of LangOptions object by splitting part of it into a ↵Ted Kremenek2010-11-141-56/+26
| | | | | | | | | | | | parent class 'LangOptionsBase' that default initializes all flags to 0. Now the ctor of LangOptions only initializes the flags that might be non-zero (significantly simplifying things). This also appeases Valgrind on Mac OS X, which no longer reports that one of the flags may be uninitialized. llvm-svn: 119045
* Revert r118991.Zhongxing Xu2010-11-142-11/+13
| | | | | | | | | Elidable CXXConstructExpr should inhibit calling destructor for temporary that is copied, not the one created. This is because eliding copy constructor means that the object that was to be copied will be constructed directly in memory the copy would be constructed in. llvm-svn: 119044
* Teach InstructionSimplify about phi nodes. I chose to have it simplyDuncan Sands2010-11-144-22/+24
| | | | | | | | | | offload the work to hasConstantValue rather than do something more complicated (such handling mutually recursive phis) because (1) it is not clear it is worth it; and (2) if it is worth it, maybe such logic would be better placed in hasConstantValue. Adjust some GVN tests which are now cleaned up much further (eg: all phi nodes are removed). llvm-svn: 119043
* Boost the power of phi node constant folding slightly: if allDuncan Sands2010-11-141-12/+18
| | | | | | | | | | | operands are the phi node itself or undef, then return undef. This logic already existed at a higher level so in practice it shouldn't make the slightest difference. Note that this code could be replaced by a call to PN->hasConstantValue(). However since we bail out the moment we see a non-constant operand, it is more efficient to have a specialized version of that logic. llvm-svn: 119041
* unittests/CMakeLists.txt: Add missing VMCore/ValueMapTest.cpp to VMCoreTests.NAKAMURA Takumi2010-11-141-0/+1
| | | | llvm-svn: 119040
* Strip trailing whitespace.Duncan Sands2010-11-142-62/+61
| | | | llvm-svn: 119038
* Always emit full loads from volatile complex l-values.John McCall2010-11-142-10/+26
| | | | | | | | Return the result of a complex assignment with the original values, not by performing a load from the l-value; this is the correct semantics in C, although not in C++. llvm-svn: 119037
OpenPOWER on IntegriCloud