summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAge
...
* Implement 64-bit undef, sub, shl/shr, srem/uremChris Lattner2006-06-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28929 91177308-0d34-0410-b5e6-96231b3b80d8
* Use i32 for shift amounts instead of i64. This gets bisort working.Chris Lattner2006-06-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28927 91177308-0d34-0410-b5e6-96231b3b80d8
* Add zextload from i32 -> i64, with this, perimeter works.Chris Lattner2006-06-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28926 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR801:Reid Spencer2006-06-27
| | | | | | | | | | Refactor the Graph writing code to use a common implementation which is now in lib/Support/GraphWriter.cpp. This completes the PR. Patch by Anton Korobeynikov. Thanks, Anton! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28925 91177308-0d34-0410-b5e6-96231b3b80d8
* De-pessimize the handling of LCSSA Phi nodes in IndVarSimplify. Hopefully thisOwen Anderson2006-06-27
| | | | | | | will make Shootout-C/nestedloop faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28924 91177308-0d34-0410-b5e6-96231b3b80d8
* Print darwin stub stuff correctly in 64-bit mode. With this, treeadd works inChris Lattner2006-06-27
| | | | | | | ppc64 mode! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28923 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix variable shadowing issueChris Lattner2006-06-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28922 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a bunch of 64-bit cleanliness work. With this, treeadd builds (butChris Lattner2006-06-27
| | | | | | | doesn't work right). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28921 91177308-0d34-0410-b5e6-96231b3b80d8
* Rearrange compares, add ADDI8, add sext from 32-to-64 bit registerChris Lattner2006-06-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28920 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve PPC64 calling convention supportChris Lattner2006-06-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28919 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove two more definitionsChris Lattner2006-06-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28918 91177308-0d34-0410-b5e6-96231b3b80d8
* remove two unused instructions.Chris Lattner2006-06-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28917 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a stale pointer issue that caused 300.twolf to fail to build on zionChris Lattner2006-06-26
| | | | | | | last night. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28916 91177308-0d34-0410-b5e6-96231b3b80d8
* random code cleanups, no functionality changeChris Lattner2006-06-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28914 91177308-0d34-0410-b5e6-96231b3b80d8
* Make LoopUnswitch able to unswitch loops with live-out values by taking ↵Owen Anderson2006-06-26
| | | | | | | | | | advantage of LCSSA. This results several times the number of unswitchings occurring on tests such and timberwolfmc, unix-tbl, and ldecod. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28912 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify X86CompilationCallback: always align to 16-byte boundary; don't ↵Evan Cheng2006-06-24
| | | | | | save EAX/EDX if unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28910 91177308-0d34-0410-b5e6-96231b3b80d8
* Add and sort "sections" in debug lines. This always stepping throughJim Laskey2006-06-23
| | | | | | | | code in sections other than ".text", including weak sections like ctors and dtors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28909 91177308-0d34-0410-b5e6-96231b3b80d8
* Added jump table address relocation.Evan Cheng2006-06-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28908 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate unneeded parameter.Evan Cheng2006-06-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28907 91177308-0d34-0410-b5e6-96231b3b80d8
* variable_ops instructions such as call can have any number of operands.Evan Cheng2006-06-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28906 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more anonymous namespaces to make it clear that these are private classesChris Lattner2006-06-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28901 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some out-of-line virtual dtors so that the class has a "home", preventingChris Lattner2006-06-21
| | | | | | | vtables for (e.g.) Instruction from being emitted into every .o file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28898 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typoChris Lattner2006-06-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28897 91177308-0d34-0410-b5e6-96231b3b80d8
* Add memory operand and int regsAndrew Lenharth2006-06-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28896 91177308-0d34-0410-b5e6-96231b3b80d8
* inline asm, at least for floatsAndrew Lenharth2006-06-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28895 91177308-0d34-0410-b5e6-96231b3b80d8
* fix argument problemAndrew Lenharth2006-06-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28893 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct returns of 64-bit values, though they seemed to work before...Chris Lattner2006-06-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28892 91177308-0d34-0410-b5e6-96231b3b80d8
* Make these predicates correct in 64-bit mode too.Chris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28890 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename OR4 -> OR. Move some PPC64-specific stuff to the 64-bit fileChris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28889 91177308-0d34-0410-b5e6-96231b3b80d8
* remove unused flagChris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28888 91177308-0d34-0410-b5e6-96231b3b80d8
* add some logical opsChris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28887 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some unused patternsChris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28886 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some more immediate patterns. This allows us to compile:Chris Lattner2006-06-20
| | | | | | | | | | | | | | | | | | | | | void test6() { Y = 0xABCD0123BCDE4567; } into: _test6: lis r2, -21555 lis r3, ha16(_Y) ori r2, r2, 291 rldicr r2, r2, 32, 31 oris r2, r2, 48350 ori r2, r2, 17767 std r2, lo16(_Y)(r3) blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28885 91177308-0d34-0410-b5e6-96231b3b80d8
* Instead of li/xoris use li/oris. Note that this doesn't work if bit 15 isChris Lattner2006-06-20
| | | | | | | set, so disable the pattern in that case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28884 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some 64-bit logical ops.Chris Lattner2006-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split imm16Shifted into a sext/zext form for 64-bit support. Add some patterns for immediate formation. For example, we now compile this: static unsigned long long Y; void test3() { Y = 0xF0F00F00; } into: _test3: li r2, 3840 lis r3, ha16(_Y) xoris r2, r2, 61680 std r2, lo16(_Y)(r3) blr GCC produces: _test3: li r0,0 lis r2,ha16(_Y) ori r0,r0,61680 sldi r0,r0,16 ori r0,r0,3840 std r0,lo16(_Y)(r2) blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28883 91177308-0d34-0410-b5e6-96231b3b80d8
* __i386__, __i386, etc. are not defined for x86-64. Use __x86_64__.Evan Cheng2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28881 91177308-0d34-0410-b5e6-96231b3b80d8
* 64-bit bugfix: 0xFFFF0000 cannot be formed with a single lis.Chris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28880 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some patterns for globals, so we can now compile this:Chris Lattner2006-06-20
| | | | | | | | | | | | | | | | | | | static unsigned long long X, Y; void test1() { X = Y; } into: _test1: lis r2, ha16(_Y) lis r3, ha16(_X) ld r2, lo16(_Y)(r2) std r2, lo16(_X)(r3) blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28879 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for function types.Jim Laskey2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28874 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some now-unneeded casts from instruction patterns. With the castsChris Lattner2006-06-20
| | | | | | | removed, tblgen produces identical output to with them in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28867 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some patterns for ppc64Chris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28866 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some ugly now-redundant casts.Chris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28864 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some mismatched type constraintsChris Lattner2006-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28862 91177308-0d34-0410-b5e6-96231b3b80d8
* References need to be section relative.Jim Laskey2006-06-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28861 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor clean up.Evan Cheng2006-06-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28860 91177308-0d34-0410-b5e6-96231b3b80d8
* Do partial inlining in BU. This resolves more call sites. Also add options ↵Andrew Lenharth2006-06-19
| | | | | | to merge in globals during recursion and to back annotate DSNodes when function pointers are resolved. This makes PA work for a whole lot more things (unresolved call sites being what has been killing various DSA based passes) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28859 91177308-0d34-0410-b5e6-96231b3b80d8
* References need to be section relative.Jim Laskey2006-06-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28858 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug, don't drop indirect call sites, especially if there is nothing ↵Andrew Lenharth2006-06-19
| | | | | | known about them yet, and restore a simple version of a removed function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28857 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle versioning of compile unit.Jim Laskey2006-06-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28855 91177308-0d34-0410-b5e6-96231b3b80d8
* initial implementation of ARMRegisterInfo::eliminateFrameIndexRafael Espindola2006-06-18
| | | | | | | fixes test/Regression/CodeGen/ARM/ret_arg5.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28854 91177308-0d34-0410-b5e6-96231b3b80d8