aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Fix small bug in operator== for iteratorsDaniel Berlin2007-09-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42331 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling.Duncan Sands2007-09-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42296 91177308-0d34-0410-b5e6-96231b3b80d8
* Added major new capabilities to scheduler (only BURR for now) to support ↵Evan Cheng2007-09-251-28/+99
| | | | | | physical register dependency. The BURR scheduler can now backtrace and duplicate instructions in order to avoid "expensive / impossible to copy" values (e.g. status flag EFLAGS for x86) from being clobbered. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42284 91177308-0d34-0410-b5e6-96231b3b80d8
* New temporary option -new-cc-modeling-scheme to test the new cc modeling scheme.Evan Cheng2007-09-251-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42283 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment fixupsDaniel Berlin2007-09-241-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42279 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge hasDotLoc and hasDotFile into hasDotLocAndDotFile since .loc and .fileDan Gohman2007-09-241-11/+5
| | | | | | | aren't really usable without each other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42274 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a routine for emitting .file directives, for setting upDan Gohman2007-09-241-0/+3
| | | | | | | file numbers to use with .loc directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42272 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement offline variable substitution in order to reduce memoryDaniel Berlin2007-09-242-14/+35
| | | | | | | | | | and time usage. Fixup operator == to make this work, and add a resize method to DenseMap so we can resize our hashtable once we know how big it should be. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42269 91177308-0d34-0410-b5e6-96231b3b80d8
* explicit keywords.Dan Gohman2007-09-241-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42262 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an unnecessary static_cast.Dan Gohman2007-09-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42261 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Owen Anderson2007-09-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42256 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge significant portions of the DomTree and PostDomTree implementations.Owen Anderson2007-09-242-7/+5
| | | | | | | The two remaining unmerged parts are DFSPass, and the Calculate(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42255 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor the calculation details for PostDomTree out of PostDominators.cpp andOwen Anderson2007-09-231-5/+7
| | | | | | | | | into a separate header file. Next step: merging PostDominatorCalculation.h with DominatorCalculation.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42251 91177308-0d34-0410-b5e6-96231b3b80d8
* Move DFSPass back down into DominatorTree. I need to figure out what the ↵Owen Anderson2007-09-231-1/+2
| | | | | | | | | difference is between it and the PostDomTree version first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42250 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor the dominator tree calculation details out into ↵Owen Anderson2007-09-232-16/+14
| | | | | | | | | | | | | | DominatorCalculation.h. This change is not useful in and of itself, but it lays the groundwork for combining the dominator and postdominator implementations. Also, factor a few methods that are common to DominatorTree and PostDominatorTree into DominatorTreeBase. Again, this will make merging the two calculation methods simpler in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42248 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR 1681. When X86 target uses +sse -sse2,Dale Johannesen2007-09-231-10/+0
| | | | | | | | | | | | keep f32 in SSE registers and f64 in x87. This is effectively a new codegen mode. Change addLegalFPImmediate to permit float and double variants to do different things. Adjust callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42246 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding support for __builtin_annotation with an intrinsic called ↵Tanya Lattner2007-09-211-0/+4
| | | | | | llvm.annotation. This is similar to llvm.var.annotation but is applied to expressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42211 91177308-0d34-0410-b5e6-96231b3b80d8
* Change APFloat::convertFromInteger to take the incomingDale Johannesen2007-09-211-1/+1
| | | | | | | | | | | | bit width instead of number of words allocated, which makes it actually work for int->APF conversions. Adjust callers. Add const to one of the APInt constructors to prevent surprising match when called with const argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42210 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix CopyFrom for non-POD data types.Owen Anderson2007-09-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42208 91177308-0d34-0410-b5e6-96231b3b80d8
* There is no {rsqrt,rcp}{p,s}d.Dan Gohman2007-09-211-12/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42190 91177308-0d34-0410-b5e6-96231b3b80d8
* More long double fixes. x86_64 should build now.Dale Johannesen2007-09-191-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42155 91177308-0d34-0410-b5e6-96231b3b80d8
* Previously GraphWriter assumed operator*() for node_iterator alwaysTed Kremenek2007-09-191-1/+5
| | | | | | | | | | | | | | returned a reference type. This patch allows operator*() to return a non-reference type while still maintaining the old behavior when it does return a reference type. This patch was motivated when I tried to use "df_iterator" (see llvm/ADT/DepthFirstIterator.h) as a "node_iterator", as df_iterator does not return a reference type and thus we would get a compilation error when trying to take the address of a temporary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42151 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a flag to mark a dirty cache entry. This is not yet used, but will ↵Owen Anderson2007-09-191-0/+4
| | | | | | | | | eventually help non-local memdep caching. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42137 91177308-0d34-0410-b5e6-96231b3b80d8
* Use struct SDep instead of std::pair for SUnit pred and succ lists. First stepEvan Cheng2007-09-191-18/+28
| | | | | | | in tracking physical register output dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42125 91177308-0d34-0410-b5e6-96231b3b80d8
* Add CopyCost to TargetRegisterClass. This specifies the cost of copying a valueEvan Cheng2007-09-191-2/+8
| | | | | | | between two registers in the specific class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42123 91177308-0d34-0410-b5e6-96231b3b80d8
* Tests of the ocaml (and thus C) bindings for constants.Gordon Henriksen2007-09-181-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42101 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't pass back a reference to a temporary.Bill Wendling2007-09-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42086 91177308-0d34-0410-b5e6-96231b3b80d8
* The exception handling function info should be reset for each newBill Wendling2007-09-181-5/+0
| | | | | | | | | function. The information isn't used heavily -- it's only used at the end of exception handling emission -- so there's no need to cache it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42078 91177308-0d34-0410-b5e6-96231b3b80d8
* C bindings for libLLVMCore.a and libLLVMBitWriter.a.Gordon Henriksen2007-09-183-0/+357
| | | | | | | | | | | | | | | | | | | | | | | | | | | - The naming prefix is LLVM. - All types are represented using opaque references. - Functions are not named LLVM{Type}{Method}; the names became unreadable goop. Instead, they are named LLVM{ImperativeSentence}. - Where an attribute only appears once in the class hierarchy (e.g., linkage only applies to values; parameter types only apply to function types), the class is omitted from identifiers for brevity. Tastes like methods. - Strings are C strings or string/length tuples on a case-by-case basis. - APIs which give the caller ownership of an object are not mapped (removeFromParent, certain constructor overloads). This keeps keep memory management as simple as possible. For each library with bindings: llvm-c/<LIB>.h - Declares the bindings. lib/<LIB>/<LIB>.cpp - Implements the bindings. So just link with the library of your choice and use the C header instead of the C++ one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42077 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixing an comment in Module.h that refers to a nonexistent parameter.Gordon Henriksen2007-09-181-5/+3
| | | | | | Also adding some missing svn:ignores that've been bothering me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42076 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C was generating EH frame info like this:Bill Wendling2007-09-181-0/+10
| | | | | | | | | | "_-[NSString(local) isNullOrNil]".eh = 0 .no_dead_strip "_-[NSString(local) isNullOrNil]".eh The ".eh" should be inside the quotes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42074 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for appending a suffix to the end of a mangled name.Bill Wendling2007-09-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42071 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not hide APInt::dump() inside #ifndef NDEBUG.Devang Patel2007-09-171-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42068 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement x86 long double in jit (not reallyDale Johannesen2007-09-171-1/+1
| | | | | | | | complete, but common cases work) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42043 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge DenseMapKeyInfo & DenseMapValueInfo into DenseMapInfoChris Lattner2007-09-172-26/+22
| | | | | | | | Add a new DenseMapInfo::isEqual method to allow clients to redefine the equality predicate used when probing the hash table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42042 91177308-0d34-0410-b5e6-96231b3b80d8
* That's what i get for using carbon emacs in a terminalDaniel Berlin2007-09-171-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42040 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix iterator so it doesn't sometimes report bits that aren't in the bitmapDaniel Berlin2007-09-171-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42039 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a utility function to SDOperand for testing if a value is unused.Dan Gohman2007-09-171-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42038 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in andersen's related to test_and_set.Daniel Berlin2007-09-161-4/+26
| | | | | | | | Add operator == and != to SparseBitVector. Simplify code for test_and_set git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42018 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a few bugs related to zero'ing of elementsDaniel Berlin2007-09-161-45/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42017 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1666, SPASS with the CBE and 254.gap with the CBE.Chris Lattner2007-09-151-1/+1
| | | | | | | | | GCC optimizes away things like ptr < NULL to false. To "fix" this, have the CBE emit casts of pointers to intptr_t when doing relational pointer comparisons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41983 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove RLE from the headers, since the pass itself is gone now.Owen Anderson2007-09-142-8/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41971 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the assumption that FP's are either float orDale Johannesen2007-09-143-5/+10
| | | | | | | | | | | | | | | double from some of the many places in the optimizers it appears, and do something reasonable with x86 long double. Make APInt::dump() public, remove newline, use it to dump ConstantSDNode's. Allow APFloats in FoldingSet. Expand X86 backend handling of long doubles (conversions to/from int, mostly). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41967 91177308-0d34-0410-b5e6-96231b3b80d8
* And an FoldingSetImpl::NodeID::AddInteger overload for int64_t, to avoidDan Gohman2007-09-141-0/+1
| | | | | | | ambiguity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41960 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove isReg, isImm, and isMBB, and change all their users to use Dan Gohman2007-09-142-10/+6
| | | | | | | | isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41958 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove spurious consts. This fixes warnings with compilers thatDan Gohman2007-09-141-1/+1
| | | | | | | are strict about such things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41956 91177308-0d34-0410-b5e6-96231b3b80d8
* remove dead enum value.Chris Lattner2007-09-131-7/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41925 91177308-0d34-0410-b5e6-96231b3b80d8
* Make single-argument ctors explicit to avoid tricky bugs :)Chris Lattner2007-09-131-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41924 91177308-0d34-0410-b5e6-96231b3b80d8
* Added getNumDefs().Evan Cheng2007-09-131-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41901 91177308-0d34-0410-b5e6-96231b3b80d8
* Yet another getTargetNode variant.Evan Cheng2007-09-121-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41898 91177308-0d34-0410-b5e6-96231b3b80d8