Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | aCC and STLport complained about this, because they're like that | Duraid Madina | 2005-05-15 | 1 | -1/+1 |
| | | | | llvm-svn: 22053 | ||||
* | Add some simplifications for MULH[SU]. This allows us to compile this: | Chris Lattner | 2005-05-15 | 1 | -0/+12 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | long %bar(long %X) { %Y = mul long %X, 4294967297 ret long %Y } to this: l1_bar: mov %EAX, DWORD PTR [%ESP + 4] mov %EDX, %EAX add %EDX, DWORD PTR [%ESP + 8] ret instead of: l1_bar: mov %ECX, DWORD PTR [%ESP + 4] mov %EDX, 1 mov %EAX, %ECX mul %EDX add %EDX, %ECX add %EDX, DWORD PTR [%ESP + 8] mov %EAX, %ECX ret llvm-svn: 22044 | ||||
* | When inserting callee-save register reloads, make sure to skip over any | Chris Lattner | 2005-05-15 | 1 | -0/+8 |
| | | | | | | | terminator instructions before the 'ret' in case the target has a multi-instruction return sequence. llvm-svn: 22041 | ||||
* | Fix construction of ioport intrinsics, fixing X86/io.llx and io-port.llx | Chris Lattner | 2005-05-14 | 1 | -4/+10 |
| | | | | llvm-svn: 22026 | ||||
* | allow token chain at start or end of node | Chris Lattner | 2005-05-14 | 1 | -0/+2 |
| | | | | llvm-svn: 22020 | ||||
* | remove special case hacks for readport/readio from the binary operator | Chris Lattner | 2005-05-14 | 2 | -13/+15 |
| | | | | | | codepath llvm-svn: 22019 | ||||
* | Implement fixme's by memoizing nodes. | Chris Lattner | 2005-05-14 | 1 | -9/+21 |
| | | | | llvm-svn: 22018 | ||||
* | Turn this into a wrapper for a simpler version of getNode. | Chris Lattner | 2005-05-14 | 1 | -8/+7 |
| | | | | llvm-svn: 22016 | ||||
* | Eliminate special purpose hacks for dynamic_stack_alloc. | Chris Lattner | 2005-05-14 | 3 | -20/+15 |
| | | | | llvm-svn: 22015 | ||||
* | Use the general mechanism for creating multi-value nodes instead of using | Chris Lattner | 2005-05-14 | 2 | -56/+60 |
| | | | | | | special case hacks. llvm-svn: 22014 | ||||
* | Wrap long line, actually add node to the graph. | Chris Lattner | 2005-05-14 | 1 | -1/+3 |
| | | | | llvm-svn: 22011 | ||||
* | legalize target-specific operations | Chris Lattner | 2005-05-14 | 1 | -0/+23 |
| | | | | llvm-svn: 22010 | ||||
* | add a getNode() version that allows construction of any node type. | Chris Lattner | 2005-05-14 | 1 | -9/+33 |
| | | | | llvm-svn: 22009 | ||||
* | LowerOperation takes a dag | Chris Lattner | 2005-05-14 | 2 | -3/+3 |
| | | | | llvm-svn: 22004 | ||||
* | Print the symbolic register name in a register allocator debug dump. | Chris Lattner | 2005-05-14 | 3 | -17/+29 |
| | | | | llvm-svn: 22002 | ||||
* | Allow targets to have a custom int64->fp expander if desired | Chris Lattner | 2005-05-14 | 1 | -0/+11 |
| | | | | llvm-svn: 22001 | ||||
* | Align doubles on 8-byte boundaries if possible. | Chris Lattner | 2005-05-13 | 1 | -0/+9 |
| | | | | llvm-svn: 21993 | ||||
* | print stack object alignment in -print-machineinstr dumps | Chris Lattner | 2005-05-13 | 1 | -2/+4 |
| | | | | llvm-svn: 21992 | ||||
* | Tolerate instrs with extra args | Chris Lattner | 2005-05-13 | 1 | -1/+1 |
| | | | | llvm-svn: 21982 | ||||
* | Add an isTailCall flag to LowerCallTo | Chris Lattner | 2005-05-13 | 2 | -7/+11 |
| | | | | llvm-svn: 21958 | ||||
* | Handle TAILCALL node | Chris Lattner | 2005-05-13 | 2 | -3/+10 |
| | | | | llvm-svn: 21957 | ||||
* | Emit function entry code after lowering hte arguments. | Chris Lattner | 2005-05-13 | 1 | -2/+2 |
| | | | | llvm-svn: 21931 | ||||
* | Allow targets to emit code into the entry block of each function | Chris Lattner | 2005-05-13 | 1 | -0/+2 |
| | | | | llvm-svn: 21930 | ||||
* | allow a virtual register to be associated with live-in values. | Chris Lattner | 2005-05-13 | 2 | -8/+8 |
| | | | | llvm-svn: 21927 | ||||
* | Fix a problem that nate reduced for me. | Chris Lattner | 2005-05-13 | 1 | -1/+2 |
| | | | | llvm-svn: 21923 | ||||
* | rename variables and functions to match renamed DAG nodes. Bonus feature: | Chris Lattner | 2005-05-13 | 1 | -32/+32 |
| | | | | | | I can actually remember which one is which now! llvm-svn: 21922 | ||||
* | do not call expandop on the same value more than once. This fixes | Chris Lattner | 2005-05-13 | 1 | -4/+5 |
| | | | | | | X86/2004-02-22-Casts.llx llvm-svn: 21919 | ||||
* | fix a bad typeo | Chris Lattner | 2005-05-12 | 1 | -2/+2 |
| | | | | llvm-svn: 21917 | ||||
* | update comment | Chris Lattner | 2005-05-12 | 1 | -1/+1 |
| | | | | llvm-svn: 21916 | ||||
* | rename the ADJCALLSTACKDOWN/ADJCALLSTACKUP nodes to be CALLSEQ_START/BEGIN. | Chris Lattner | 2005-05-12 | 2 | -22/+22 |
| | | | | llvm-svn: 21915 | ||||
* | Pass calling convention to use into lower call to | Chris Lattner | 2005-05-12 | 2 | -7/+8 |
| | | | | llvm-svn: 21900 | ||||
* | fix expansion of ct[lt]z nodes | Chris Lattner | 2005-05-12 | 1 | -0/+2 |
| | | | | llvm-svn: 21896 | ||||
* | Expand 64-bit ctlz/cttz nodes for 32-bit targets | Chris Lattner | 2005-05-12 | 1 | -4/+28 |
| | | | | llvm-svn: 21895 | ||||
* | Fix uint->fp casts on PPC, allowing UnitTests/2005-05-12-Int64ToFP to | Chris Lattner | 2005-05-12 | 1 | -4/+3 |
| | | | | | | work on it. llvm-svn: 21894 | ||||
* | Allow something to be legalized multiple times. This can be used to reduce | Chris Lattner | 2005-05-12 | 1 | -12/+30 |
| | | | | | | legalization iteration llvm-svn: 21892 | ||||
* | Oops, don't do this after we figure out where to insert the call chains. | Chris Lattner | 2005-05-12 | 1 | -6/+6 |
| | | | | llvm-svn: 21890 | ||||
* | Make sure to expand all nodes, avoiding unintentional node duplication. | Chris Lattner | 2005-05-12 | 1 | -0/+7 |
| | | | | llvm-svn: 21889 | ||||
* | handle a common case generated by the uint64 -> FP code path better | Chris Lattner | 2005-05-12 | 1 | -1/+17 |
| | | | | llvm-svn: 21888 | ||||
* | add fixme | Chris Lattner | 2005-05-12 | 1 | -0/+1 |
| | | | | llvm-svn: 21887 | ||||
* | Fix a problem where early legalization can cause token chain problems. | Chris Lattner | 2005-05-12 | 1 | -7/+8 |
| | | | | llvm-svn: 21885 | ||||
* | Make legalize a bit more efficient, and canonicalize sub X, C -> add X, -C | Chris Lattner | 2005-05-12 | 2 | -8/+12 |
| | | | | llvm-svn: 21882 | ||||
* | Necessary changes to codegen cttz efficiently on PowerPC | Nate Begeman | 2005-05-11 | 1 | -3/+13 |
| | | | | | | | | | | 1. Teach LegalizeDAG how to better legalize CTTZ if the target doesn't have CTPOP, but does have CTLZ 2. Teach PPC32 how to do sub x, const -> add x, -const for valid consts 3. Teach PPC32 how to do and (xor a, -1) b -> andc b, a 4. Teach PPC32 that ISD::CTLZ -> PPC::CNTLZW llvm-svn: 21880 | ||||
* | Fix lowering of ctlz, so now UnitTests/2005-05-11-Popcount-ffs-fls passes | Chris Lattner | 2005-05-11 | 1 | -40/+26 |
| | | | | | | with the CBE llvm-svn: 21875 | ||||
* | Fix lowering of cttz to work with signed values | Chris Lattner | 2005-05-11 | 1 | -5/+4 |
| | | | | llvm-svn: 21874 | ||||
* | fix and concisify intinsic lowering for ctpop. Unfortunately, this code | Chris Lattner | 2005-05-11 | 1 | -167/+61 |
| | | | | | | looks completely untested. :( llvm-svn: 21873 | ||||
* | Fix the last remaining bug preventing us from switching the X86 BE over | Chris Lattner | 2005-05-11 | 1 | -30/+68 |
| | | | | | | | | | from the simple isel to the pattern isel. This forces inserted libcalls to serialize against other function calls, which was breaking UnitTests/2005-05-12-Int64ToFP. Hopefully this will fix issues on other targets as well. llvm-svn: 21872 | ||||
* | Do not memoize ADJCALLSTACKDOWN nodes, provide a method to hack on them. | Chris Lattner | 2005-05-11 | 1 | -3/+24 |
| | | | | llvm-svn: 21871 | ||||
* | wrap long line | Chris Lattner | 2005-05-11 | 1 | -1/+2 |
| | | | | llvm-svn: 21870 | ||||
* | Make sure to legalize generated ctpop nodes, convert tabs to spaces | Chris Lattner | 2005-05-11 | 1 | -18/+18 |
| | | | | llvm-svn: 21868 | ||||
* | expand count-leading/trailing-zeros; the test 2005-05-11-Popcount-ffs-fls.c | Duraid Madina | 2005-05-11 | 1 | -19/+32 |
| | | | | | | should now pass (the "LLVM" and "REF" results should be identical) llvm-svn: 21866 |