aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add two new record types to the blockinfo block:Chris Lattner2009-04-264-14/+79
| | | | | | | | | | BLOCKNAME and SETRECORDNAME. This allows a bitcode file to be self describing with pretty names for records and blocks in addition to numbers. This enhances llvm-bcanalyzer to use this to print prettily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70165 91177308-0d34-0410-b5e6-96231b3b80d8
* make BitstreamCursor's copyable and assignable.Chris Lattner2009-04-261-2/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70159 91177308-0d34-0410-b5e6-96231b3b80d8
* Make a major API change to BitstreamReader: split all the readingChris Lattner2009-04-266-116/+149
| | | | | | | | | | state out of the BitstreamReader class into a BitstreamCursor class. Doing this allows the client to have multiple cursors into the same file, each with potentially different live block stacks and abbreviation records. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70157 91177308-0d34-0410-b5e6-96231b3b80d8
* I cast, therefore I think I know what I'm doing.Bill Wendling2009-04-261-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70151 91177308-0d34-0410-b5e6-96231b3b80d8
* Use uint64_t instead of unsigned.Bill Wendling2009-04-261-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70148 91177308-0d34-0410-b5e6-96231b3b80d8
* revert an incorrect patch. This causes crashes all over the place on aChris Lattner2009-04-261-6/+4
| | | | | | | 64-bit build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70147 91177308-0d34-0410-b5e6-96231b3b80d8
* Suppress warnings about conversion shortening 64-bit to 32-bit.Bill Wendling2009-04-261-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70138 91177308-0d34-0410-b5e6-96231b3b80d8
* Any size of integral indices are allowed in gep for indexing into sequential ↵Sanjiv Gupta2009-04-263-4/+15
| | | | | | types. Also adding a test case to check the indices type allowed into struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70134 91177308-0d34-0410-b5e6-96231b3b80d8
* improve documentation on build configurations, patch byChris Lattner2009-04-251-8/+19
| | | | | | | Josef Eisl! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70087 91177308-0d34-0410-b5e6-96231b3b80d8
* add testcase for strange types of gep indicesChris Lattner2009-04-251-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70085 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new TypeBuilder helper class, which eases making LLVM IR types.Chris Lattner2009-04-252-0/+696
| | | | | | | Patch by Jeffrey Yasskin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70084 91177308-0d34-0410-b5e6-96231b3b80d8
* improve documentation around memory lifetimes, Chris Lattner2009-04-251-5/+17
| | | | | | | patch by Jeffrey Yasskin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70083 91177308-0d34-0410-b5e6-96231b3b80d8
* aDd support for building a subset of the llvm tools, patch by Jeffrey Yasskin!Chris Lattner2009-04-253-3/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70082 91177308-0d34-0410-b5e6-96231b3b80d8
* testcase and asmparser fix for PR4066Chris Lattner2009-04-252-2/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70080 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow aliasee to be a GEP or bitcast instead of just a bitcast.Chris Lattner2009-04-252-7/+9
| | | | | | | | | | | | The real fix for this whole mess is to require the operand of the alias to be a *GlobalValue* (not a general constant, including constant exprs) but allow the operand and the alias type to be unrelated. This fixes PR4066 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70079 91177308-0d34-0410-b5e6-96231b3b80d8
* Update docs to not mention gcse/loadvn and mention memdep andChris Lattner2009-04-251-24/+12
| | | | | | | new stuff. PR3924. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70077 91177308-0d34-0410-b5e6-96231b3b80d8
* Use intptr_t.Bill Wendling2009-04-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70076 91177308-0d34-0410-b5e6-96231b3b80d8
* size() should return a size_t; avoids a warning for 64 bit machines.Mon P Wang2009-04-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70072 91177308-0d34-0410-b5e6-96231b3b80d8
* Reuse unused val#'s to avoid running out of memory in extreme cases.Evan Cheng2009-04-251-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70069 91177308-0d34-0410-b5e6-96231b3b80d8
* DenseMap.h needs <new> because it explicitly calls operator new/delete.Chris Lattner2009-04-251-0/+1
| | | | | | | Patch by John McCall! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70068 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR4040: APInt's string constructor is too strictChris Lattner2009-04-252-7/+18
| | | | | | | patch by Jeff Yasskin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70058 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for detecting process features on win64, patch byChris Lattner2009-04-251-36/+50
| | | | | | | Nicolas Capens! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70057 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor the code to grab the low and high parts of a valueDan Gohman2009-04-254-126/+38
| | | | | | | using EXTRACT_ELEMENT into a utility function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70056 91177308-0d34-0410-b5e6-96231b3b80d8
* Return null instead of false, as appropriate.Dan Gohman2009-04-251-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70054 91177308-0d34-0410-b5e6-96231b3b80d8
* Add several more icmp simplifications. Transform signed comparisonsDan Gohman2009-04-252-82/+187
| | | | | | | | into unsigned ones when the operands are known to have the same sign bit value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70053 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a top-level comment about DAGCombiner's role in the compiler.Dan Gohman2009-04-251-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70052 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle ands with 0 and shifts by 0 correctly. These aren'tDan Gohman2009-04-252-2/+32
| | | | | | | common, but indvars shouldn't crash on them. This fixes PR4054. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70051 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix g++-4.4.0 warning, it was causing llvm-nm to fail on wrapped BC files:Torok Edwin2009-04-252-1/+10
| | | | | | | | | | | | | | Path.cpp:59: warning: case label value exceeds maximum value for type magic[0] is a (signed) char, but some case values are unsigned (e.g. 0xde). When magic[0] was 0xde, the switch has taken the default branch instead of case 0xde branch. Apparently this was the behaviour with older versions of gcc too, but not with g++. Now g++-4.4 behaves as gcc, and ignores unsigned case values out of range signed range. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70038 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not share a single unknown val# for all the live ranges merged into a ↵Evan Cheng2009-04-253-23/+32
| | | | | | physical sub-register live interval. When coalescer is merging in clobbered virtaul register live interval into a physical register live interval, give each virtual register val# a separate val# in the physical register live interval. Otherwise, the coalescer would have lost track of the definitions information it needs to make correct coalescing decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70026 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed the gep example for i16 type indices.Sanjiv Gupta2009-04-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70019 91177308-0d34-0410-b5e6-96231b3b80d8
* Change LowerCallResult method so that CCValAssign::BCvt can be used withBob Wilson2009-04-251-16/+16
| | | | | | | f64 types. This is not used for anything yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70006 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR 4057, a crash doing float->char const folding.Dale Johannesen2009-04-242-3/+22
| | | | | | | | | | This particular one is undefined behavior (although this isn't related to the crash), so it will no longer do it at compile time, which seems better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69990 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust a comment to reflect what the code does. Splitting a 64-bit argumentBob Wilson2009-04-241-1/+1
| | | | | | | | between registers and the stack may be required with the APCS ABI, but it isn't tied to using a particular version of the ARM architecture. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69978 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix up some problems with getCopyToReg and getCopyFromReg nodes beingBob Wilson2009-04-241-8/+12
| | | | | | | | | | chained and "flagged" together. I also made a few changes to handle the chain and flag values more consistently. I found these problems by inspection so I'm not aware of anything that breaks because of them (thus no testcase). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69977 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a bigger hammer to coerce subversion into english.Gabor Greif2009-04-241-1/+1
| | | | | | | Patch by Benjamin Kramer! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69976 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix multiclass inheritance to limit value resolution to new defs addedDavid Greene2009-04-244-30/+117
| | | | | | | | by base multiclasses. Do not attempt to alter defs from previous base multiclasses. This fixes multiple multiclass inheritance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69974 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary references to f32 types. After specifying that f32Bob Wilson2009-04-241-4/+4
| | | | | | | | should be bit-converted to i32, it is sufficient to list only i32 in subsequent definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69973 91177308-0d34-0410-b5e6-96231b3b80d8
* Add LTO_SYMBOL_DEFINITION_WEAKUNDEF, use that on the gold plugin.Rafael Espindola2009-04-244-9/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69972 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed spaces and the getelementpointer example with i16 type indices.Sanjiv Gupta2009-04-241-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69971 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR 4004 by including the call to __tls_get_addr in X86tlsaddr. This is notRafael Espindola2009-04-244-37/+39
| | | | | | | | very elegant, but neither is the tls specification :-( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69968 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 69952. Causes testsuite failures on linux x86-64.Rafael Espindola2009-04-2425-1610/+2157
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69967 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a typo noticed by duncanChris Lattner2009-04-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69962 91177308-0d34-0410-b5e6-96231b3b80d8
* "I got annoyed at the compiler warnings from ConstantInt::get(Ty, -1,Chris Lattner2009-04-242-0/+23
| | | | | | | | | | | | true), and casts make me nervous and are verbose anyway, so here's a ConstantInt::getSigned(Ty, int64_t) method. Just overloading ConstantInt::get() to take an int64_t too would cause ambiguous overload errors." Patch by Jeffrey Yasskin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69958 91177308-0d34-0410-b5e6-96231b3b80d8
* PR2957Nate Begeman2009-04-2425-2157/+1610
| | | | | | | | | | | | | | | ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes as the shuffle mask. A value of -1 represents UNDEF. In addition to eliminating the creation of illegal BUILD_VECTORS just to represent shuffle masks, we are better about canonicalizing the shuffle mask, resulting in substantially better code for some classes of shuffles. A clean up of x86 shuffle code, and some canonicalizing in DAGCombiner is next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69952 91177308-0d34-0410-b5e6-96231b3b80d8
* Instead of requiring TLI.LowerCallTo to return an ISD::BUILD_PAIR,Dan Gohman2009-04-241-60/+118
| | | | | | | | | use ISD::EXTRACT_ELEMENT. SelectionDAG has a special fast-path for the cast of an EXTRACT_ELEMENT with a BUILD_PAIR operand, for the common case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69948 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow i16 type indices to gep.Sanjiv Gupta2009-04-243-8/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69946 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor out a bit of code that appears in several places into aDan Gohman2009-04-233-14/+16
| | | | | | | utility function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69937 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle Void types in ComputeValueVTs. This doesn't currently occur,Dan Gohman2009-04-231-0/+3
| | | | | | | | but this change makes the code more general and easier to adapt for new purposes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69935 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spurious indentation in a comment.Dan Gohman2009-04-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69934 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a documentation bug.David Greene2009-04-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69923 91177308-0d34-0410-b5e6-96231b3b80d8