summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR577 and testcase InstCombine/2005-06-15-ShiftSetCCCrash.ll.Chris Lattner2005-06-151-2/+16
| | | | | | Do not perform undefined out of range shifts. llvm-svn: 22217
* Put the hack back in that removes features, causes regressions to fail, butReid Spencer2005-06-151-0/+2
| | | | | | allows test programs to succeed. Actual fix for this is forthcoming. llvm-svn: 22213
* Commit fix for generating conditional branch pseudo instructions thatNate Begeman2005-06-151-3/+8
| | | | | | | avoids dereferencing the end() iterator when selecting the fallthrough block. This requires an ilist change. llvm-svn: 22212
* Commit a small improvement that is already in the x86 and ia64 backends toNate Begeman2005-06-141-0/+5
| | | | | | | not generate unnecessary register copies. This improves compile time by 2-5% depending on the test. llvm-svn: 22210
* Unbreak several InstCombine regression checks introduced by a hack toReid Spencer2005-06-131-2/+0
| | | | | | fix the bzip2 test. A better hack is needed. llvm-svn: 22209
* When compiled with GCC 4.0, a latent bug was exposed where both SparcV9Nate Begeman2005-06-1216-106/+108
| | | | | | | | | and the target independant register allocator were both using a class named 'LiveRange'. This lead to the target independant code calling code in the SparcV9 backend, which crashed. Fixed by renaming SparcV9's LiveRange to V9LiveRange. llvm-svn: 22208
* Fix a memory smasher caught by Mac OS X's debug malloc library. We wereNate Begeman2005-06-121-8/+19
| | | | | | incorrectly using an iterator after it was invalid. llvm-svn: 22207
* Fix a 64-bit problem, passing (int)0 through ... instead of (void*)0Chris Lattner2005-06-091-4/+4
| | | | llvm-svn: 22206
* Fix a problem on 64-bit targets where we passed (int)0 through ... instead ofChris Lattner2005-06-091-7/+7
| | | | | | (void*)0. llvm-svn: 22205
* fix BranchCC with a setCC with an arg of 0Andrew Lenharth2005-06-081-3/+3
| | | | llvm-svn: 22203
* For PR572:Reid Spencer2005-06-081-0/+6
| | | | | | | Undefine the PPC symbol which is defined by Linux/PPC (erroneously) so it doesn't pollute the user namespace and clash with our namespace declarations. llvm-svn: 22202
* Handle some more real world cases of rlwimi. These don't come up thatNate Begeman2005-06-081-10/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | regularly in "normal" code, but for things like software graphics, they make a big difference. For the following code: unsigned short Trans16Bit(unsigned srcA,unsigned srcB,unsigned alpha) { unsigned tmpA,tmpB,mixed; tmpA = ((srcA & 0x03E0) << 15) | (srcA & 0x7C1F); tmpB = ((srcB & 0x03E0) << 15) | (srcB & 0x7C1F); mixed = (tmpA * alpha) + (tmpB * (32 - alpha)); return ((mixed >> 5) & 0x7C1F) | ((mixed >> 20) & 0x03E0); } We now generate: _Trans16Bit: .LBB_Trans16Bit_0: ; entry andi. r2, r4, 31775 rlwimi r2, r4, 15, 7, 11 subfic r4, r5, 32 mullw r2, r2, r4 andi. r4, r3, 31775 rlwimi r4, r3, 15, 7, 11 mullw r3, r4, r5 add r2, r2, r3 srwi r3, r2, 5 andi. r3, r3, 31775 rlwimi r3, r2, 12, 22, 26 blr Instead of: _Trans16Bit: .LBB_Trans16Bit_0: ; entry slwi r2, r4, 15 rlwinm r2, r2, 0, 7, 11 andi. r4, r4, 31775 or r2, r2, r4 subfic r4, r5, 32 mullw r2, r2, r4 slwi r4, r3, 15 rlwinm r4, r4, 0, 7, 11 andi. r3, r3, 31775 or r3, r4, r3 mullw r3, r3, r5 add r2, r2, r3 srwi r3, r2, 5 andi. r3, r3, 31775 srwi r2, r2, 20 rlwimi r3, r2, 0, 22, 26 blr llvm-svn: 22201
* Fix lli linking on Mac OS X 10.4.1 for Intel.Nate Begeman2005-06-081-2/+2
| | | | llvm-svn: 22200
* Remove code for conversion from old style va_args. Preparing the way forAndrew Lenharth2005-06-081-76/+3
| | | | | | returning to the old style :) llvm-svn: 22199
* Fix spelling of `correlate'Misha Brukman2005-06-061-1/+1
| | | | llvm-svn: 22196
* allow marking of loads and stores in the instruction stream with enough ↵Andrew Lenharth2005-06-062-0/+31
| | | | | | information to reconstruct the Value* if it existed llvm-svn: 22195
* hide basic block labels. The utility of these for debuging is long since passedAndrew Lenharth2005-06-061-2/+2
| | | | llvm-svn: 22194
* * Replace block of commented-out lines with #if 0Misha Brukman2005-06-061-26/+29
| | | | | | * Remove warning "control reaches end of non-void function" llvm-svn: 22193
* hack to fix bzip2 (bug 571)Andrew Lenharth2005-06-041-0/+2
| | | | llvm-svn: 22192
* Make sure that Cygwin assembly includes _ as part of function names.Reid Spencer2005-06-021-0/+9
| | | | llvm-svn: 22190
* Put in a hack for Cygwin that prevents mkdtemp from being used sinceReid Spencer2005-06-021-0/+5
| | | | | | configure seems to find it on Cygwin but linking against it fails. llvm-svn: 22189
* try custom expanders, doesn't seem to expand yet, so disabledAndrew Lenharth2005-05-311-0/+61
| | | | llvm-svn: 22188
* switch to the new live in thing. Really, this time it worksAndrew Lenharth2005-05-311-1/+1
| | | | llvm-svn: 22187
* switch to the new live in thingAndrew Lenharth2005-05-311-2/+2
| | | | llvm-svn: 22186
* switch to the new live in thingAndrew Lenharth2005-05-311-65/+60
| | | | llvm-svn: 22185
* match gcc, makes diff easierAndrew Lenharth2005-05-271-2/+2
| | | | llvm-svn: 22179
* Fix 2005-05-12-Int64ToFPAndrew Lenharth2005-05-261-0/+26
| | | | | | | | | The issue is there is no unsigned -> double conversion, only signed. So I need to test the sign and do a different thing depending on it. Ideally this should be in a different BB, but in the mean time, I use a branch free method. llvm-svn: 22177
* Make the registration hash_map static. No other module needs it. Also,Reid Spencer2005-05-211-1/+5
| | | | | | document what its for a little better. llvm-svn: 22164
* Adjust the file comment to read a little easier.Reid Spencer2005-05-211-6/+7
| | | | llvm-svn: 22163
* Make sure ... arguments are casted to sbyte* where needed.Reid Spencer2005-05-211-13/+12
| | | | llvm-svn: 22162
* Add a "brief" comment for CastToCStrReid Spencer2005-05-211-0/+1
| | | | llvm-svn: 22161
* Fix mismatched type problem that crashed on cases like this:Chris Lattner2005-05-201-8/+17
| | | | | | | | sprintf(P, "%s", X); Where X is not an sbyte*. This fixes the bug JohnMC reported on llvm-bugs. llvm-svn: 22159
* Fix Transforms/SimplifyCFG/switch-simplify-crash.llChris Lattner2005-05-201-0/+7
| | | | llvm-svn: 22158
* C'mon everybody, let's modify X86JITInfo.cpp. This time, we add <iostream>Nate Begeman2005-05-201-1/+2
| | | | | | so that the shiny new use of std::cerr is defined. llvm-svn: 22156
* Since everyone else has "fixed" this file, might as well join in the fun.Misha Brukman2005-05-201-4/+3
| | | | | | | * Change assert() to std::cerr printout, as it will not appear in opt builds * Add comments to clarify what #ifdef/#else/#endif match what condition(s) llvm-svn: 22154
* Fix this a 3rd time :)Chris Lattner2005-05-201-1/+2
| | | | llvm-svn: 22151
* fix compilation error due to no abort being defined. There is probably a ↵Andrew Lenharth2005-05-201-0/+1
| | | | | | better way to do this llvm-svn: 22150
* re-enable direct calls, this should just be a performance boostDuraid Madina2005-05-201-6/+5
| | | | llvm-svn: 22148
* this seems dead (and broke the ia64 build, so..)Duraid Madina2005-05-201-1/+0
| | | | llvm-svn: 22147
* Give the asmparser the ability to parse strings. Patch contributed byChris Lattner2005-05-204-13/+49
| | | | | | Alexander Friedman llvm-svn: 22146
* Fix tail call support in VC++ buildsJeff Cohen2005-05-201-38/+45
| | | | llvm-svn: 22143
* Fastcc passes arguments in EAX and EDX, make sure the JIT doesn't clobber themChris Lattner2005-05-191-6/+39
| | | | llvm-svn: 22137
* Tailcalls require stubs to be emitted. Otherwise, the compilation callbackChris Lattner2005-05-192-9/+16
| | | | | | doesn't know who 'called' it. llvm-svn: 22136
* Wrap long linesMisha Brukman2005-05-181-5/+14
| | | | llvm-svn: 22125
* teach the inliner about coldcc and noreturn functionsChris Lattner2005-05-181-0/+15
| | | | llvm-svn: 22113
* comment the hpux bitDuraid Madina2005-05-161-0/+1
| | | | llvm-svn: 22081
* HP-UX system headers make a mess of isinf(), so much so that gcc fixincludesDuraid Madina2005-05-161-0/+4
| | | | | | can't patch it up for c++ (works in C though) llvm-svn: 22079
* Don't look for __builtin_ffs, we'll never see it from llvm-gcc and there'sReid Spencer2005-05-151-14/+0
| | | | | | not reason to include it for other front ends. llvm-svn: 22070
* Provide this optimization as well:Reid Spencer2005-05-151-5/+45
| | | | | | ffs(x) -> (x == 0 ? 0 : 1+llvm.cttz(x)) llvm-svn: 22068
* PPC "branch and link" instructions are branches in the PPC sense, but notChris Lattner2005-05-151-1/+1
| | | | | | | in the LLVM code generator sense (they are calls). Don't mark them as such, which fixes the regressions on the ppc tester last night llvm-svn: 22065
OpenPOWER on IntegriCloud