| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | add note about bit builtins newly supported | Chris Lattner | 2005-05-07 | 1 | -2/+7 | 
| | | | | | llvm-svn: 21757 | ||||
| * | new testcase | Chris Lattner | 2005-05-07 | 1 | -0/+17 | 
| | | | | | llvm-svn: 21756 | ||||
| * | fix bugs in my previous commit clarify the return type of the bit ops | Chris Lattner | 2005-05-07 | 1 | -9/+14 | 
| | | | | | llvm-svn: 21755 | ||||
| * | add a couple of notes | Chris Lattner | 2005-05-06 | 2 | -3/+6 | 
| | | | | | llvm-svn: 21754 | ||||
| * | document calling convention extensions | Chris Lattner | 2005-05-06 | 2 | -42/+143 | 
| | | | | | llvm-svn: 21753 | ||||
| * | remove some dead (always dynamically false) flags | Chris Lattner | 2005-05-06 | 2 | -36/+1 | 
| | | | | | llvm-svn: 21752 | ||||
| * | encode calling conventions for call/invoke instructions. | Chris Lattner | 2005-05-06 | 2 | -14/+80 | 
| | | | | | llvm-svn: 21751 | ||||
| * | new testcase | Chris Lattner | 2005-05-06 | 1 | -0/+42 | 
| | | | | | llvm-svn: 21750 | ||||
| * | encode function calling convs in the bytecode file. invoke and call are | Chris Lattner | 2005-05-06 | 2 | -1/+16 | 
| | | | | | | | still to come. llvm-svn: 21749 | ||||
| * | parse new calling conv specifiers | Chris Lattner | 2005-05-06 | 2 | -43/+65 | 
| | | | | | llvm-svn: 21748 | ||||
| * | wrap a longline | Chris Lattner | 2005-05-06 | 1 | -1/+2 | 
| | | | | | llvm-svn: 21747 | ||||
| * | add support for explicit calling conventions | Chris Lattner | 2005-05-06 | 3 | -3/+44 | 
| | | | | | llvm-svn: 21746 | ||||
| * | Add support for explicit calling conventions | Chris Lattner | 2005-05-06 | 3 | -5/+36 | 
| | | | | | llvm-svn: 21745 | ||||
| * | New file | Chris Lattner | 2005-05-06 | 1 | -0/+54 | 
| | | | | | llvm-svn: 21744 | ||||
| * | use splice instead of remove/insert for a minor speedup | Chris Lattner | 2005-05-06 | 1 | -4/+6 | 
| | | | | | llvm-svn: 21743 | ||||
| * | remove some ugly hacks that are no longer needed since andrew removed the | Chris Lattner | 2005-05-06 | 1 | -14/+6 | 
| | | | | | | | varargs munging code llvm-svn: 21742 | ||||
| * | BAD typeo which caused many testsuite failures last night. Note to self, do | Chris Lattner | 2005-05-06 | 1 | -1/+1 | 
| | | | | | | | not change code after testing it without retesting! llvm-svn: 21741 | ||||
| * | clean up the CBE output a bit | Chris Lattner | 2005-05-06 | 1 | -13/+15 | 
| | | | | | llvm-svn: 21740 | ||||
| * | add tail marker as a comment | Chris Lattner | 2005-05-06 | 1 | -0/+1 | 
| | | | | | llvm-svn: 21739 | ||||
| * | Make the stub functions be tail calls | Chris Lattner | 2005-05-06 | 1 | -1/+2 | 
| | | | | | llvm-svn: 21738 | ||||
| * | Preserve tail marker | Chris Lattner | 2005-05-06 | 3 | -4/+7 | 
| | | | | | llvm-svn: 21737 | ||||
| * | Implement Transforms/Inline/inline-tail.ll | Chris Lattner | 2005-05-06 | 1 | -1/+16 | 
| | | | | | llvm-svn: 21736 | ||||
| * | Make sure to not accidentally get a bogus tail marker | Chris Lattner | 2005-05-06 | 1 | -0/+16 | 
| | | | | | llvm-svn: 21735 | ||||
| * | preserve the tail marker | Chris Lattner | 2005-05-06 | 3 | -0/+6 | 
| | | | | | llvm-svn: 21734 | ||||
| * | add a default arg | Chris Lattner | 2005-05-06 | 1 | -1/+1 | 
| | | | | | llvm-svn: 21733 | ||||
| * | Don't forget these are calls | Chris Lattner | 2005-05-06 | 1 | -4/+4 | 
| | | | | | llvm-svn: 21730 | ||||
| * | lex tail | Chris Lattner | 2005-05-06 | 1 | -0/+1 | 
| | | | | | llvm-svn: 21729 | ||||
| * | test that tail call survives bytecodification | Chris Lattner | 2005-05-06 | 1 | -3/+3 | 
| | | | | | llvm-svn: 21728 | ||||
| * | add bytecode reader support for tail calls | Chris Lattner | 2005-05-06 | 2 | -1/+6 | 
| | | | | | llvm-svn: 21727 | ||||
| * | Hilight tail | Chris Lattner | 2005-05-06 | 2 | -2/+2 | 
| | | | | | llvm-svn: 21726 | ||||
| * | These are legal for tail calls | Chris Lattner | 2005-05-06 | 2 | -1/+5 | 
| | | | | | llvm-svn: 21723 | ||||
| * | Add a 'tail' marker for call instructions, patch contributed by | Chris Lattner | 2005-05-06 | 5 | -7/+34 | 
| | | | | | | | Alexander Friedman. llvm-svn: 21722 | ||||
| * | Add info on new 'tail' marker | Chris Lattner | 2005-05-06 | 1 | -11/+37 | 
| | | | | | llvm-svn: 21721 | ||||
| * | Wrap long lines | Chris Lattner | 2005-05-06 | 1 | -6/+10 | 
| | | | | | llvm-svn: 21720 | ||||
| * | DCE intrinsic instructions without side effects. | Chris Lattner | 2005-05-06 | 1 | -1/+20 | 
| | | | | | llvm-svn: 21719 | ||||
| * | These intrinsics do not access memory | Chris Lattner | 2005-05-06 | 1 | -1/+1 | 
| | | | | | llvm-svn: 21718 | ||||
| * | Teach instcombine propagate zeroness through shl instructions, implementing | Chris Lattner | 2005-05-06 | 1 | -8/+4 | 
| | | | | | | | and.ll:test31 llvm-svn: 21717 | ||||
| * | new testcases | Chris Lattner | 2005-05-06 | 1 | -0/+14 | 
| | | | | | llvm-svn: 21716 | ||||
| * | Implement shift.ll:test23. If we are shifting right then immediately truncating | Chris Lattner | 2005-05-06 | 1 | -3/+19 | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the result, turn signed shift rights into unsigned shift rights if possible. This leads to later simplification and happens *often* in 176.gcc. For example, this testcase: struct xxx { unsigned int code : 8; }; enum codes { A, B, C, D, E, F }; int foo(struct xxx *P) { if ((enum codes)P->code == A) bar(); } used to be compiled to: int %foo(%struct.xxx* %P) { %tmp.1 = getelementptr %struct.xxx* %P, int 0, uint 0 ; <uint*> [#uses=1] %tmp.2 = load uint* %tmp.1 ; <uint> [#uses=1] %tmp.3 = cast uint %tmp.2 to int ; <int> [#uses=1] %tmp.4 = shl int %tmp.3, ubyte 24 ; <int> [#uses=1] %tmp.5 = shr int %tmp.4, ubyte 24 ; <int> [#uses=1] %tmp.6 = cast int %tmp.5 to sbyte ; <sbyte> [#uses=1] %tmp.8 = seteq sbyte %tmp.6, 0 ; <bool> [#uses=1] br bool %tmp.8, label %then, label %UnifiedReturnBlock Now it is compiled to: %tmp.1 = getelementptr %struct.xxx* %P, int 0, uint 0 ; <uint*> [#uses=1] %tmp.2 = load uint* %tmp.1 ; <uint> [#uses=1] %tmp.2 = cast uint %tmp.2 to sbyte ; <sbyte> [#uses=1] %tmp.8 = seteq sbyte %tmp.2, 0 ; <bool> [#uses=1] br bool %tmp.8, label %then, label %UnifiedReturnBlock which is the difference between this: foo: subl $4, %esp movl 8(%esp), %eax movl (%eax), %eax shll $24, %eax sarl $24, %eax testb %al, %al jne .LBBfoo_2 and this: foo: subl $4, %esp movl 8(%esp), %eax movl (%eax), %eax testb %al, %al jne .LBBfoo_2 This occurs 3243 times total in the External tests, 215x in povray, 6x in each f2c'd program, 1451x in 176.gcc, 7x in crafty, 20x in perl, 25x in gap, 3x in m88ksim, 25x in ijpeg. Maybe this will cause a little jump on gcc tommorow :) llvm-svn: 21715 | ||||
| * | new testcase | Chris Lattner | 2005-05-06 | 2 | -0/+14 | 
| | | | | | llvm-svn: 21714 | ||||
| * | Implement xor.ll:test22 | Chris Lattner | 2005-05-06 | 1 | -0/+9 | 
| | | | | | llvm-svn: 21713 | ||||
| * | implement and.ll:test30 and set.ll:test21 | Chris Lattner | 2005-05-06 | 1 | -18/+60 | 
| | | | | | llvm-svn: 21712 | ||||
| * | new testcase for unneeded and | Chris Lattner | 2005-05-06 | 1 | -0/+5 | 
| | | | | | llvm-svn: 21711 | ||||
| * | new testcase | Chris Lattner | 2005-05-06 | 1 | -0/+8 | 
| | | | | | llvm-svn: 21710 | ||||
| * | implement or.ll:test20 | Chris Lattner | 2005-05-06 | 1 | -0/+7 | 
| | | | | | llvm-svn: 21709 | ||||
| * | new testcase | Chris Lattner | 2005-05-06 | 1 | -0/+5 | 
| | | | | | llvm-svn: 21708 | ||||
| * | * Order #includes alphabetically | Misha Brukman | 2005-05-05 | 1 | -4/+1 | 
| | | | | | | | * Remove commented-out debug printouts llvm-svn: 21707 | ||||
| * | Remove extra blank line | Misha Brukman | 2005-05-05 | 1 | -1/+0 | 
| | | | | | llvm-svn: 21706 | ||||
| * | * Use consistent spacing for function arguments | Misha Brukman | 2005-05-05 | 1 | -18/+18 | 
| | | | | | | | * Output single-character strings as chars llvm-svn: 21705 | ||||
| * | Remove vim settings from source code; people should use llvm/utils/vim/vimrc | Misha Brukman | 2005-05-05 | 36 | -36/+0 | 
| | | | | | llvm-svn: 21704 | ||||

