summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Commit message (Collapse)AuthorAgeFilesLines
* Revert r106422, which is breaking the non-fast-isel path.Dan Gohman2010-06-211-2/+0
| | | | llvm-svn: 106423
* More changes for non-top-down fast-isel.Dan Gohman2010-06-211-0/+2
| | | | | | | | | | Split the code for materializing a value out of SelectionDAGBuilder::getValue into a helper function, so that it can be used in other ways. Add a new getNonRegisterValue function which uses it, for use in code which doesn't want a CopyFromReg even when FuncMap.ValueMap already has an entry for it. llvm-svn: 106422
* Keep track of incoming debug value of unused argument.Devang Patel2010-06-011-0/+10
| | | | | | Radar 7927666. llvm-svn: 105285
* Don't pass SDValues by non-const reference unless they may beDan Gohman2010-05-011-1/+1
| | | | | | modified. llvm-svn: 102816
* Delete the EdgeMapping variable itself.Dan Gohman2010-05-011-4/+0
| | | | llvm-svn: 102810
* Do not generate duplicate dbg_value instructions for function arguments.Evan Cheng2010-04-291-1/+1
| | | | llvm-svn: 102585
* Replace r102368 with code that's less fragile. This creates DBG_VALUE ↵Evan Cheng2010-04-281-0/+10
| | | | | | instructions for function arguments early and insert them after instruction selection is done. llvm-svn: 102554
* Sink SelectionDAGBuilder's HandlePHINodesInSuccessorBlocks downDan Gohman2010-04-221-2/+2
| | | | | | into SelectionDAGBuilder itself. llvm-svn: 102128
* Move HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISelDan Gohman2010-04-221-0/+2
| | | | | | and into SelectionDAGBuilder and FastISel. llvm-svn: 102123
* Move PHINodesToUpdate out of SelectionDAGBuilder and intoDan Gohman2010-04-221-4/+0
| | | | | | | | | FunctionLoweringInfo, as it isn't SelectionDAG-specific. This isn't completely natural, as PHI node state is not per-function but rather per-basic-block, however there's currently no other convenient per-basic-block state to group it with. llvm-svn: 102109
* Don't send PHI nodes down to SelectionDAGBuilder of FastISel, sinceDan Gohman2010-04-201-1/+1
| | | | | | they end up doing nothing. llvm-svn: 101904
* Sink DebugLoc handling out of SelectionDAGISel into FastISel andDan Gohman2010-04-201-1/+0
| | | | | | SelectionDAGBuilder, where it doesn't have to be as complicated. llvm-svn: 101848
* Eliminate the CurMBB member from SelectionDAGBuilder. For places thatDan Gohman2010-04-191-14/+18
| | | | | | | need it, just pass around the parent block of the current instruction explicitly. llvm-svn: 101822
* Code that needs a TargetMachine should have access to one directly, ratherDan Gohman2010-04-191-3/+4
| | | | | | than just getting one through a TargetLowering. llvm-svn: 101802
* Use const qualifiers with TargetLowering. This eliminates severalDan Gohman2010-04-171-2/+2
| | | | | | | | | | | | | const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. llvm-svn: 101635
* Add const qualifiers to CodeGen's use of LLVM IR constructs.Dan Gohman2010-04-151-102/+104
| | | | llvm-svn: 101334
* Fix typos in comments.Dan Gohman2010-04-141-1/+1
| | | | llvm-svn: 101266
* Delete an obsolete comment.Dan Gohman2010-04-141-1/+0
| | | | llvm-svn: 101264
* remove the now-redundant MMI pointer in SelectionDAG.Chris Lattner2010-04-051-1/+0
| | | | llvm-svn: 100419
* stop using DebugLoc::getUnknownLoc()Chris Lattner2010-04-021-4/+2
| | | | llvm-svn: 100215
* Assign the ordering of SDNodes in a much less intrusive fashion. After theBill Wendling2010-01-281-0/+5
| | | | | | | "visit*" method is called, take the newly created nodes, walk them in a DFS fashion, and if they don't have an ordering set, then give it one. llvm-svn: 94757
* whitespace cleanupChris Lattner2010-01-011-6/+6
| | | | llvm-svn: 92404
* move an optimization for memcmp out of simplifylibcalls and into Chris Lattner2009-12-241-0/+4
| | | | | | | | | SDISel. This optimization was causing simplifylibcalls to introduce type-unsafe nastiness. This is the first step, I'll be expanding the memcmp optimizations shortly, covering things that we really really wouldn't want simplifylibcalls to do. llvm-svn: 92098
* Add more plumbing. This time in the LowerArguments and "get" functions whichBill Wendling2009-12-221-0/+2
| | | | | | | | return partial registers. This affected the back-end lowering code some. Also patch up some places I missed before in the "get" functions. llvm-svn: 91880
* Changes from review:Bill Wendling2009-12-181-1/+5
| | | | | | | | | | | - Move DisableScheduling flag into TargetOption.h - Move SDNodeOrdering into its own header file. Give it a minimal interface that doesn't conflate construction with storage. - Move assigning the ordering into the SelectionDAGBuilder. This isn't used yet, so there should be no functional changes. llvm-svn: 91727
* Rename SelectionDAGLowering to SelectionDAGBuilder, and renameDan Gohman2009-11-231-0/+487
SelectionDAGBuild.cpp to SelectionDAGBuilder.cpp. llvm-svn: 89681
OpenPOWER on IntegriCloud