summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Begin making more use of the FastISelEmitter class.Dan Gohman2008-08-213-28/+30
| | | | llvm-svn: 55093
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-2166-180/+448
| | | | llvm-svn: 55092
* First cut at OS detection, taking advantage of the new generic targets. Eli Friedman2008-08-212-15/+60
| | | | | | | | | | | | | This approach allows adding OS-specific targets/defines/etc. without completely breaking unknown subtargets. No new subtargets yet, although I plan to add x86-Linux soon. Others can add targets that they use as needed; adding a new subtarget takes very little code. Also does some fixups for description strings; a lot of them were unspecified. I think all the ones I added are correct, but they're unverified; corrections are welcome. llvm-svn: 55091
* Fix an N^2 issue handling constant resolution due to RAUW in large arraysChris Lattner2008-08-212-13/+132
| | | | | | | this speeds up the bcreader from 6.67s to 0.12s on a testcase Daniel provided. rdar://6158117 llvm-svn: 55090
* Fix unused variable warnings.Dan Gohman2008-08-201-3/+3
| | | | llvm-svn: 55089
* Silence a compiler warning.Evan Cheng2008-08-201-1/+2
| | | | llvm-svn: 55087
* Class reorg for PPC; shouldn't be any visible changes unless I messed Eli Friedman2008-08-201-190/+133
| | | | | | | | | up somehow. This concludes the series of reorg patches for the target implementations. llvm-svn: 55086
* First cut, un-optimized (and untested) fast isel lowering of GetElementPtrInst.Evan Cheng2008-08-203-5/+136
| | | | llvm-svn: 55085
* Add a new ConstantExpr::getWithOperands that takes any array of operands Chris Lattner2008-08-202-5/+8
| | | | | | instead of requiring an std::vector. llvm-svn: 55084
* Fix a regression from my fix to PR2631. Fixes PR2692.Eli Friedman2008-08-202-0/+12
| | | | llvm-svn: 55083
* Fix a minor crash-on-invalid.Eli Friedman2008-08-202-1/+10
| | | | llvm-svn: 55082
* Remove an obsolete todo comment.Dan Gohman2008-08-201-2/+0
| | | | llvm-svn: 55080
* Factor the code for determining the target-specific instructionDan Gohman2008-08-204-18/+22
| | | | | | namespace out of the isel emitters and into common code. llvm-svn: 55079
* Move the handling of ANY_EXTEND, SIGN_EXTEND_INREG, and TRUNCATEDan Gohman2008-08-203-138/+159
| | | | | | | | | | | | | out of X86ISelDAGToDAG.cpp C++ code and into tablegen code. Among other things, using tablegen for these things makes them friendlier to FastISel. Tablegen can handle the case of i8 subregs on x86-32, but currently the C++ code for that case uses MVT::Flag in a tricky way, and it happens to schedule better in some cases. So for now, leave the C++ code in place to handle the i8 case on x86-32. llvm-svn: 55078
* Simplify the BuildMI calls even more.Dan Gohman2008-08-201-6/+3
| | | | llvm-svn: 55077
* Simplify FastISel's constructor argument list, make the FastISelDan Gohman2008-08-208-40/+33
| | | | | | | | class hold a MachineRegisterInfo member, and make the MachineBasicBlock be passed in to SelectInstructions rather than the FastISel constructor. llvm-svn: 55076
* Dump the instruction that foiled ISel even when -debug is not used.Dan Gohman2008-08-201-1/+3
| | | | llvm-svn: 55075
* Don't hoist instructions that define a physical register.Bill Wendling2008-08-201-1/+8
| | | | llvm-svn: 55074
* Make more use of the BuildMI API.Dan Gohman2008-08-201-8/+2
| | | | llvm-svn: 55072
* Minor code reorganization.Dan Gohman2008-08-201-3/+3
| | | | llvm-svn: 55071
* Minor whitespace cleanup.Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55070
* Fix 80 column violation.Dan Gohman2008-08-201-1/+2
| | | | llvm-svn: 55069
* Fix attributes on Obj-C interfaces & methods.Daniel Dunbar2008-08-203-12/+15
| | | | | | | - Drop MethodAttrs parameter to ObjCMethodDecl - Call ProcessDeclAttributeList for interface & method decls. llvm-svn: 55068
* Kill off SimpleBBISel, it's replaced by FastISel.Evan Cheng2008-08-203-78/+1
| | | | llvm-svn: 55067
* Fix URL typo.Ted Kremenek2008-08-201-1/+1
| | | | llvm-svn: 55066
* Updated checker build.Ted Kremenek2008-08-201-1/+1
| | | | llvm-svn: 55065
* Patch by Zhongxing Xu:Ted Kremenek2008-08-203-35/+62
| | | | | | This patch moves some code in GRStateManager::RemoveDeadBindings() to EnvironmentManager::RemoveDeadBindings(). llvm-svn: 55064
* Move the fast-path (<=i64) cases of various APInt methods inlineChris Lattner2008-08-202-170/+199
| | | | | | | and the slow-path cases out of line. This speeds up instcombine a bit in real world cases. Patch contributed by m-s. llvm-svn: 55063
* Patch by Zhongxing Xu: We should set back the modified ConstEq map.Ted Kremenek2008-08-201-1/+2
| | | | llvm-svn: 55060
* Disable DAGCombine's alignment inference in "fast" codegen mode.Dan Gohman2008-08-203-10/+13
| | | | llvm-svn: 55059
* Change the FoldingSetNodeID usage for objects which carryDan Gohman2008-08-204-37/+46
| | | | | | | | alignment and volatility information, such as loads and stores, to reduce the number of integer values added to the FoldingSetNodeID. llvm-svn: 55058
* Clean up a dead return missed in r55055.Dan Gohman2008-08-201-3/+2
| | | | llvm-svn: 55057
* Tablegen generated code already tests the opcode value, so it's notDan Gohman2008-08-204-247/+183
| | | | | | necessary to use dyn_cast in these predicates. llvm-svn: 55055
* Use BitVector instead of std::vector<unsigned char>.Dan Gohman2008-08-201-2/+1
| | | | llvm-svn: 55054
* It's not necessary to check if a value is null before delete[].Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55053
* Use cast instead of dyn_cast.Dan Gohman2008-08-201-2/+2
| | | | llvm-svn: 55052
* Avoid an empty-if-body warning in release builds.Dan Gohman2008-08-201-1/+2
| | | | llvm-svn: 55050
* Fix indentation.Dan Gohman2008-08-201-2/+2
| | | | llvm-svn: 55049
* Fix comment spacing.Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55047
* Class reorg for ARM. Shouldn't be any visible changes.Eli Friedman2008-08-201-22/+27
| | | | llvm-svn: 55042
* Class hierarchy reorg for Sparc architecture. While I was there, I Eli Friedman2008-08-201-45/+43
| | | | | | | | cleaned it up a bit, including fixing the definition of va_list; this shouldn't break anything, but anyone using Sparc should watch for regressions. llvm-svn: 55041
* Fix subtle bug introduced in r54852.Daniel Dunbar2008-08-203-2/+12
| | | | | | | | | - UsualUnaryConversions takes an Expr *& and may modify its argument, this broke when it was refactored into Sema::CheckCastTypes. This meant that we were missing implicit casts in some places. - Seems pretty sad that this got through our tests. llvm-svn: 55039
* Re-enable deletion of AST nodes upon completion of ParseAST.Ted Kremenek2008-08-201-3/+0
| | | | llvm-svn: 55038
* Added ObjCAtDefsFieldDecl to represent FieldDecls created by @defs.Ted Kremenek2008-08-205-6/+55
| | | | | | This fixes an ownership issue where FieldDecls could be owned both by an ObjCInterfaceDecl and a RecordDecl. llvm-svn: 55037
* Reorganize the class hierarchy for x86 targets; shouldn't have any Eli Friedman2008-08-201-150/+140
| | | | | | | | | | visible effects, but this will significantly reduce the amount of boilerplate code necessary to add subtargets. If this looks okay, I'll do the rest of the processors (PPC, Sparc, ARM) soon. llvm-svn: 55036
* Fixed shuffle optimizations to handle non power of 2 vectorsMon P Wang2008-08-201-4/+4
| | | | llvm-svn: 55035
* Fix the string for MVT::isVoid.Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55034
* Fix FastISel to recognize that the last block in the function doesDan Gohman2008-08-201-5/+8
| | | | | | not have a fall-through successor. llvm-svn: 55033
* Fix test failure on Linux.Eli Friedman2008-08-201-0/+3
| | | | llvm-svn: 55032
* Fix a leak in the FastISel code that Chris pointed out.Dan Gohman2008-08-202-2/+10
| | | | llvm-svn: 55031
OpenPOWER on IntegriCloud