aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Update aux. info associated with an instruction before erasing instruction.Devang Patel2007-09-201-12/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42180 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not override user specified section.Devang Patel2007-09-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42179 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't increment invalid iterator.Devang Patel2007-09-201-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42178 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix dumb regression in constant folding (Regression/C/casts)Dale Johannesen2007-09-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42165 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix several more entries in the x86 reload/remat folding tables.Dan Gohman2007-09-201-18/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42162 91177308-0d34-0410-b5e6-96231b3b80d8
* another long double bugletDale Johannesen2007-09-201-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42159 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix optimization. %x = sub %x, %y does not imply that %y is zero.Nick Lewycky2007-09-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42157 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable if-conversion for ARM by default.Evan Cheng2007-09-201-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42156 91177308-0d34-0410-b5e6-96231b3b80d8
* More long double fixes. x86_64 should build now.Dale Johannesen2007-09-195-21/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42155 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid referencing deleted instruction.Evan Cheng2007-09-191-5/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42153 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid unsafe promotion.Devang Patel2007-09-191-9/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42149 91177308-0d34-0410-b5e6-96231b3b80d8
* PSHUFDmi, etc. are actually folding a load, not a store.Evan Cheng2007-09-191-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42147 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix longdouble -> uint conversion.Dale Johannesen2007-09-191-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42143 91177308-0d34-0410-b5e6-96231b3b80d8
* reject things like "declare internal @foo"Chris Lattner2007-09-191-2/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42140 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/+1
| | | | | | | | | eventually help non-local memdep caching. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42137 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some long double issues.Dale Johannesen2007-09-191-19/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42133 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve comment.Duncan Sands2007-09-191-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42132 91177308-0d34-0410-b5e6-96231b3b80d8
* Partial fix for PR1678: correct some parts of constantDuncan Sands2007-09-191-2/+4
| | | | | | | | fold that were missed in the fix for PR1646. Probably this null/not-null logic should be factorized somewhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42131 91177308-0d34-0410-b5e6-96231b3b80d8
* A global variable with external weak linkage can be null, whileDuncan Sands2007-09-191-2/+6
| | | | | | | an alias could alias such a global variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42130 91177308-0d34-0410-b5e6-96231b3b80d8
* Use struct SDep instead of std::pair for SUnit pred and succ lists. First stepEvan Cheng2007-09-194-36/+36
| | | | | | | in tracking physical register output dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42125 91177308-0d34-0410-b5e6-96231b3b80d8
* Set CCR (EFLAGS) copy cost to -1, i.e. extremely expensive to copy.Evan Cheng2007-09-191-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42124 91177308-0d34-0410-b5e6-96231b3b80d8
* Add CopyCost to TargetRegisterClass. This specifies the cost of copying a valueEvan Cheng2007-09-191-0/+6
| | | | | | | between two registers in the specific class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42123 91177308-0d34-0410-b5e6-96231b3b80d8
* Relax loop ExitCondition predicate restriction.Devang Patel2007-09-191-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42122 91177308-0d34-0410-b5e6-96231b3b80d8
* Filter loops where split condition's false branch is not empty. For exampleDevang Patel2007-09-191-0/+4
| | | | | | | | | | | | for (int i = 0; i < N; ++i) { if (i == somevalue) dosomething(); else dosomethingelse(); } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42121 91177308-0d34-0410-b5e6-96231b3b80d8
* Bail out early, before modifying anything.Devang Patel2007-09-191-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42120 91177308-0d34-0410-b5e6-96231b3b80d8
* Work is incomplete. Loop is not modified at all right now.Devang Patel2007-09-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42119 91177308-0d34-0410-b5e6-96231b3b80d8
* ooops...Devang Patel2007-09-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42118 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bogus splat xform:Evan Cheng2007-09-181-2/+1
| | | | | | | | | shuffle <undef, undef, x, undef>, <undef, undef, undef, undef>, <2, 2, 2, 2> != <undef, undef, x, undef> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42111 91177308-0d34-0410-b5e6-96231b3b80d8
* Prevent crash on long double.Dale Johannesen2007-09-181-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42103 91177308-0d34-0410-b5e6-96231b3b80d8
* Tests of the ocaml (and thus C) bindings for constants.Gordon Henriksen2007-09-181-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42101 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the entries for 64-bit CMP, IMUL, and a few others into the correctDan Gohman2007-09-181-6/+11
| | | | | | | | tables so that they are eligible for reload/remat folding. And add entries for JMP and CALL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42094 91177308-0d34-0410-b5e6-96231b3b80d8
* Incorporating review feedback for GC verifier patch.Gordon Henriksen2007-09-181-11/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42087 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't pass back a reference to a temporary.Bill Wendling2007-09-181-2/+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-4/+2
| | | | | | | | | 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-182-0/+373
| | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Fix PR1657Devang Patel2007-09-181-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42075 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C was generating EH frame info like this:Bill Wendling2007-09-182-10/+20
| | | | | | | | | | "_-[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-2/+2
| | | | 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-172-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42068 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not eliminate loop when it is invalid to do so. For example,Devang Patel2007-09-171-14/+35
| | | | | | | | | | | | | | | | for(int i = 0; i < N; i++) { if ( i == XYZ) { A; else B; } C; D; } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42058 91177308-0d34-0410-b5e6-96231b3b80d8
* Skeleton for transformations to truncate loop's iteration space.Devang Patel2007-09-171-2/+198
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42054 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR1633: Verifier doesn't fully verify GC intrinsicsGordon Henriksen2007-09-171-0/+36
| | | | | | | | | | | | | | | LLVM now enforces the following prototypes for the write barriers: <ty>* @llvm.gcread(<ty2>*, <ty>**) void @llvm.gcwrite(<ty>*, <ty2>*, <ty>**) And for @llvm.gcroot, the first stack slot is verified to be an alloca or a bitcast of an alloca. Fixes test/CodeGen/Generic/GC/lower_gcroot.ll, which violated these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42051 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove RSTRegClass case from loadRegFromStackSlotDale Johannesen2007-09-172-5/+3
| | | | | | | | | | and storeRegToStackSlot. Evan and I concluded this should never be needed and it appears to be true. (It if is needed, adjustment would be needed for long double to work.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42049 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comment.Devang Patel2007-09-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42048 91177308-0d34-0410-b5e6-96231b3b80d8
* This is not ideal but unbreaks build failure.Devang Patel2007-09-171-0/+2
| | | | | | | APInt::dump() is inside #ifndef NDEBUG, however SelectionDAG dump() routines are not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42047 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement x86 long double in jit (not reallyDale Johannesen2007-09-172-4/+93
| | | | | | | | 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-177-12/+34
| | | | | | | | 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
* X86ISD::TEST is dead.Evan Cheng2007-09-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42037 91177308-0d34-0410-b5e6-96231b3b80d8
* Instcombine x-((x/y)*y) into a remainder operator.Dan Gohman2007-09-171-1/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42035 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 64-bit jmp instructions to the list of instructions thatDan Gohman2007-09-171-0/+2
| | | | | | | can terminate a block with no fall-through. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42029 91177308-0d34-0410-b5e6-96231b3b80d8