summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* add note about bit builtins newly supportedChris Lattner2005-05-071-2/+7
| | | | llvm-svn: 21757
* new testcaseChris Lattner2005-05-071-0/+17
| | | | llvm-svn: 21756
* fix bugs in my previous commit clarify the return type of the bit opsChris Lattner2005-05-071-9/+14
| | | | llvm-svn: 21755
* add a couple of notesChris Lattner2005-05-062-3/+6
| | | | llvm-svn: 21754
* document calling convention extensionsChris Lattner2005-05-062-42/+143
| | | | llvm-svn: 21753
* remove some dead (always dynamically false) flagsChris Lattner2005-05-062-36/+1
| | | | llvm-svn: 21752
* encode calling conventions for call/invoke instructions.Chris Lattner2005-05-062-14/+80
| | | | llvm-svn: 21751
* new testcaseChris Lattner2005-05-061-0/+42
| | | | llvm-svn: 21750
* encode function calling convs in the bytecode file. invoke and call areChris Lattner2005-05-062-1/+16
| | | | | | still to come. llvm-svn: 21749
* parse new calling conv specifiersChris Lattner2005-05-062-43/+65
| | | | llvm-svn: 21748
* wrap a longlineChris Lattner2005-05-061-1/+2
| | | | llvm-svn: 21747
* add support for explicit calling conventionsChris Lattner2005-05-063-3/+44
| | | | llvm-svn: 21746
* Add support for explicit calling conventionsChris Lattner2005-05-063-5/+36
| | | | llvm-svn: 21745
* New fileChris Lattner2005-05-061-0/+54
| | | | llvm-svn: 21744
* use splice instead of remove/insert for a minor speedupChris Lattner2005-05-061-4/+6
| | | | llvm-svn: 21743
* remove some ugly hacks that are no longer needed since andrew removed theChris Lattner2005-05-061-14/+6
| | | | | | varargs munging code llvm-svn: 21742
* BAD typeo which caused many testsuite failures last night. Note to self, doChris Lattner2005-05-061-1/+1
| | | | | | not change code after testing it without retesting! llvm-svn: 21741
* clean up the CBE output a bitChris Lattner2005-05-061-13/+15
| | | | llvm-svn: 21740
* add tail marker as a commentChris Lattner2005-05-061-0/+1
| | | | llvm-svn: 21739
* Make the stub functions be tail callsChris Lattner2005-05-061-1/+2
| | | | llvm-svn: 21738
* Preserve tail markerChris Lattner2005-05-063-4/+7
| | | | llvm-svn: 21737
* Implement Transforms/Inline/inline-tail.llChris Lattner2005-05-061-1/+16
| | | | llvm-svn: 21736
* Make sure to not accidentally get a bogus tail markerChris Lattner2005-05-061-0/+16
| | | | llvm-svn: 21735
* preserve the tail markerChris Lattner2005-05-063-0/+6
| | | | llvm-svn: 21734
* add a default argChris Lattner2005-05-061-1/+1
| | | | llvm-svn: 21733
* Don't forget these are callsChris Lattner2005-05-061-4/+4
| | | | llvm-svn: 21730
* lex tailChris Lattner2005-05-061-0/+1
| | | | llvm-svn: 21729
* test that tail call survives bytecodificationChris Lattner2005-05-061-3/+3
| | | | llvm-svn: 21728
* add bytecode reader support for tail callsChris Lattner2005-05-062-1/+6
| | | | llvm-svn: 21727
* Hilight tailChris Lattner2005-05-062-2/+2
| | | | llvm-svn: 21726
* These are legal for tail callsChris Lattner2005-05-062-1/+5
| | | | llvm-svn: 21723
* Add a 'tail' marker for call instructions, patch contributed byChris Lattner2005-05-065-7/+34
| | | | | | Alexander Friedman. llvm-svn: 21722
* Add info on new 'tail' markerChris Lattner2005-05-061-11/+37
| | | | llvm-svn: 21721
* Wrap long linesChris Lattner2005-05-061-6/+10
| | | | llvm-svn: 21720
* DCE intrinsic instructions without side effects.Chris Lattner2005-05-061-1/+20
| | | | llvm-svn: 21719
* These intrinsics do not access memoryChris Lattner2005-05-061-1/+1
| | | | llvm-svn: 21718
* Teach instcombine propagate zeroness through shl instructions, implementingChris Lattner2005-05-061-8/+4
| | | | | | and.ll:test31 llvm-svn: 21717
* new testcasesChris Lattner2005-05-061-0/+14
| | | | llvm-svn: 21716
* Implement shift.ll:test23. If we are shifting right then immediately truncatingChris Lattner2005-05-061-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 testcaseChris Lattner2005-05-062-0/+14
| | | | llvm-svn: 21714
* Implement xor.ll:test22Chris Lattner2005-05-061-0/+9
| | | | llvm-svn: 21713
* implement and.ll:test30 and set.ll:test21Chris Lattner2005-05-061-18/+60
| | | | llvm-svn: 21712
* new testcase for unneeded andChris Lattner2005-05-061-0/+5
| | | | llvm-svn: 21711
* new testcaseChris Lattner2005-05-061-0/+8
| | | | llvm-svn: 21710
* implement or.ll:test20Chris Lattner2005-05-061-0/+7
| | | | llvm-svn: 21709
* new testcaseChris Lattner2005-05-061-0/+5
| | | | llvm-svn: 21708
* * Order #includes alphabeticallyMisha Brukman2005-05-051-4/+1
| | | | | | * Remove commented-out debug printouts llvm-svn: 21707
* Remove extra blank lineMisha Brukman2005-05-051-1/+0
| | | | llvm-svn: 21706
* * Use consistent spacing for function argumentsMisha Brukman2005-05-051-18/+18
| | | | | | * Output single-character strings as chars llvm-svn: 21705
* Remove vim settings from source code; people should use llvm/utils/vim/vimrcMisha Brukman2005-05-0536-36/+0
| | | | llvm-svn: 21704
OpenPOWER on IntegriCloud