aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Enable emitting of constant values in non-default address space as well. The ↵Sanjiv Gupta2009-01-302-18/+22
| | | | | | APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63377 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a post-RA scheduling dependency bug.Dan Gohman2009-01-301-0/+5
| | | | | | | | | | | | | | | | If a MachineInstr doesn't have a memoperand but has an opcode that is known to load or store, assume its memory reference may alias *anything*, including stack slots which the compiler completely controls. To partially compensate for this, teach the ScheduleDAG building code to do basic getUnderlyingValue analysis. This greatly reduces the number of instructions that require restrictive dependencies. This code will need to be revisited when we start doing real alias analysis, but it should suffice for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63370 91177308-0d34-0410-b5e6-96231b3b80d8
* - Propagate debug loc info in combineSelectAndUse().Bill Wendling2009-01-301-4/+19
| | | | | | | | - Modify ReassociateOps so that the resulting SDValue is what the comment claims it is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63365 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in getMaxValue/getMinValue to pass the right signedness theChris Lattner2009-01-301-6/+6
| | | | | | | the constructed APSInt, patch suggested by Ben Laurie! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63362 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate debug info when building SelectionDAG.Dale Johannesen2009-01-301-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63359 91177308-0d34-0410-b5e6-96231b3b80d8
* Add dump() routines to help debug debug info :)Devang Patel2009-01-301-0/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63353 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r63273. This was already implemented by Dale. There's no need for myBill Wendling2009-01-291-22/+34
| | | | | | | change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63301 91177308-0d34-0410-b5e6-96231b3b80d8
* - Add DebugLoc to getTargetNode(). Bill Wendling2009-01-291-34/+22
| | | | | | | | | | - Modify TableGen to add the DebugLoc when calling getTargetNode. (The light-weight wrappers are only temporary. The non-DebugLoc version will be removed once the whole debug info stuff is finished with.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63273 91177308-0d34-0410-b5e6-96231b3b80d8
* Exit with nice warnings when register allocator run out of registers.Evan Cheng2009-01-291-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63267 91177308-0d34-0410-b5e6-96231b3b80d8
* Make x86's BT instruction matching more thorough, and add someDan Gohman2009-01-291-0/+2
| | | | | | | | | | dagcombines that help it match in several more cases. Add several more cases to test/CodeGen/X86/bt.ll. This doesn't yet include matching for BT with an immediate operand, it just covers more register+register cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63266 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugLoc-sensitive versions of many node creationDale Johannesen2009-01-291-0/+89
| | | | | | | | functions. Currently omitted: memcpy, memmove, memset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63259 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comment about removeRange.Evan Cheng2009-01-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63255 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugLoc to the getNode() methods.Bill Wendling2009-01-281-10/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63245 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more comments describing SDNode operator codes.Dan Gohman2009-01-281-8/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63239 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugLoc-aware constructors for SDNode derivedDale Johannesen2009-01-281-0/+84
| | | | | | | | | classes (those that reasonably have a DebugLoc associated with them). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63236 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some comments on ISD::NodeType.Dan Gohman2009-01-281-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63234 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete unnecessary elses.Dan Gohman2009-01-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63214 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable PACKAGE_VERSION in cmake builds, this unbreaks the clang build with ↵Chris Lattner2009-01-281-1/+1
| | | | | | | | | cmake. Patch by Piotr Rak! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63213 91177308-0d34-0410-b5e6-96231b3b80d8
* Make isOperationLegal do what its name suggests, and introduce aDan Gohman2009-01-281-2/+10
| | | | | | | | | | | | | | | | new isOperationLegalOrCustom, which does what isOperationLegal previously did. Update a bunch of callers to use isOperationLegalOrCustom instead of isOperationLegal. In some case it wasn't obvious which behavior is desired; when in doubt I changed then to isOperationLegalOrCustom as that preserves their previous behavior. This is for the second half of PR3376. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63212 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands2009-01-282-23/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63198 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR3415 (infinite loop in EscapeAnalysis) byDuncan Sands2009-01-282-57/+0
| | | | | | | deleting the escape analysis pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63197 91177308-0d34-0410-b5e6-96231b3b80d8
* Add three new option properties.Mikhail Glushenkov2009-01-281-1/+4
| | | | | | Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63172 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment fixes.Bill Wendling2009-01-281-9/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63164 91177308-0d34-0410-b5e6-96231b3b80d8
* Embalm my ideas of how things should work. Not thatDale Johannesen2009-01-272-1/+3
| | | | | | | | anyone will pay attention. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63155 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a DebugLoc field and some simple accessors.Dale Johannesen2009-01-271-2/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63152 91177308-0d34-0410-b5e6-96231b3b80d8
* Reorder args, constify.Dale Johannesen2009-01-271-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63151 91177308-0d34-0410-b5e6-96231b3b80d8
* Use .empty() instead of comparing .size() with 0.Dan Gohman2009-01-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63139 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to latest spelling.Dale Johannesen2009-01-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63138 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugLoc field and simple accessors.Dale Johannesen2009-01-271-3/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63136 91177308-0d34-0410-b5e6-96231b3b80d8
* Refine DebugLoc per review comments.Evan Cheng2009-01-272-13/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63132 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an assertion to the form of SelectionDAG::getConstant that takesDan Gohman2009-01-271-2/+5
| | | | | | | | | a uint64_t to verify that the value is in range for the given type, to help catch accidental overflow. Fix a few places that relied on getConstant implicitly truncating the value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63128 91177308-0d34-0410-b5e6-96231b3b80d8
* Make some comments doxygen-friendly.Dan Gohman2009-01-271-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63104 91177308-0d34-0410-b5e6-96231b3b80d8
* No need to keep size of DebugLocations vector separately.Evan Cheng2009-01-261-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63070 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the Dwarf macro information section optional; CellSPU's assemblerScott Michel2009-01-261-5/+12
| | | | | | | | doesn't support it. The default is set to 'true', so this should not impact any other target backends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63058 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement Red Zone utilization on x86-64. This is currentlyDan Gohman2009-01-261-0/+4
| | | | | | | | disabled by default; I'll enable it when I hook it up with the llvm-gcc flag which controls it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63056 91177308-0d34-0410-b5e6-96231b3b80d8
* Add method raw_fd_ostream::seek() for random access within a file.Ted Kremenek2009-01-261-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63044 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the name of an argument.Dan Gohman2009-01-261-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63037 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in BitVector.h. All assignment operations (except the usual Roman Levenstein2009-01-261-3/+3
| | | | | | | | | | assignment operator) were returning a copy of the bit vector, instead of a reference! This old semantics probably did not meet the expectations. With this patch, chained assignments happen to the right object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63012 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually source file has already been uniquified into an id during isel. ↵Evan Cheng2009-01-262-25/+9
| | | | | | Eliminate the StringMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63009 91177308-0d34-0410-b5e6-96231b3b80d8
* Add data structure to define and track debug location during codegen.Evan Cheng2009-01-262-1/+123
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63008 91177308-0d34-0410-b5e6-96231b3b80d8
* Looks like comments were chopped off.Evan Cheng2009-01-261-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63007 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVM_SUPPORT_DEBUGINFO_H -> LLVM_ANALYSIS_DEBUGINFO_H since DebugInfo.h is ↵Evan Cheng2009-01-261-2/+2
| | | | | | under Analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63005 91177308-0d34-0410-b5e6-96231b3b80d8
* Take the next steps in making SDUse more consistent with LLVM Use, andDan Gohman2009-01-261-178/+161
| | | | | | | | | | | | | | | | | | tidy up SDUse and related code. - Replace the operator= member functions with a set method, like LLVM Use has, and variants setInitial and setNode, which take care up updating use lists, like LLVM Use's does. This simplifies code that calls these functions. - getSDValue() is renamed to get(), as in LLVM Use, though most places can either use the implicit conversion to SDValue or the convenience functions instead. - Fix some more node vs. value terminology issues. Also, eliminate the one remaining use of SDOperandPtr, and SDOperandPtr itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62995 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the loop that searches through each of the operandsDan Gohman2009-01-251-1/+1
| | | | | | | | | | | | of each use in the SelectionDAG ReplaceAllUses* functions. Thanks to Chris for spotting this opportunity. Also, factor out code from all 5 of the ReplaceAllUses* functions into AddNonLeafNodeToCSEMaps, which is now renamed AddModifiedNodeToCSEMaps to more accurately reflect its purpose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62964 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce two DWARF attribute extentions DW_AT_APPLE_optimized, ↵Devang Patel2009-01-232-2/+10
| | | | | | | | | | | | | DW_AT_APPLE_flags. DW_AT_APPLE_optimized flag is set when a compile_unit is optimized. The debugger takes advantage of this information some way. DW_AT_APPLE_flags encodes command line options when certain env. variable is set. This is used by build engineers to track various gcc command lines used by by a project, irrespective of whether the project used makefile, Xcode or something else. llvm-gcc patch is next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62888 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the logic of getting hold of a PHI predecessor block.Gabor Greif2009-01-232-2/+9
| | | | | | | | | There is now a direct way from value-use-iterator to incoming block in PHINode's API. This way we avoid the iterator->index->iterator trip, and especially the costly getOperandNo() invocation. Additionally there is now an assertion that the iterator really refers to one of the PHI's Uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62869 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for deleting a module provider from a JIT in such a way that it ↵Nate Begeman2009-01-231-1/+7
| | | | | | does not cause the owned module to be fully materialized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62864 91177308-0d34-0410-b5e6-96231b3b80d8
* Cross register class coalescing. Not yet enabled.Evan Cheng2009-01-231-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62832 91177308-0d34-0410-b5e6-96231b3b80d8
* introduce a useful abstraction to find out if a Use is in the call position ↵Gabor Greif2009-01-221-0/+4
| | | | | | of an instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62788 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerated configure after backing out 62553 and r62616.Tanya Lattner2009-01-221-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62778 91177308-0d34-0410-b5e6-96231b3b80d8