summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Improve comment, patch provided by Vladimir Prus!Chris Lattner2006-05-151-1/+3
| | | | llvm-svn: 28307
* Remove some dead code, identified by coverity.Chris Lattner2006-05-151-6/+0
| | | | llvm-svn: 28303
* added a skeleton of the ARM backendRafael Espindola2006-05-1413-0/+894
| | | | llvm-svn: 28301
* LoadLibraryPermanently can theoretically throw an exception. Do not propagateChris Lattner2006-05-141-1/+4
| | | | | | it out of 'ExecutionEngine::create'. This fixes a problem reported by coverity. llvm-svn: 28293
* Bug noticed, by inspection. Filename can be null.Chris Lattner2006-05-141-1/+2
| | | | llvm-svn: 28292
* This function is not documented as throwing an exception and callers don'tChris Lattner2006-05-141-3/+1
| | | | | | handle it. Just silently fail. llvm-svn: 28291
* inverted logic, caught by coverityChris Lattner2006-05-141-1/+1
| | | | llvm-svn: 28290
* remove some dead code identified by coverityChris Lattner2006-05-141-1/+1
| | | | llvm-svn: 28289
* remove dead varChris Lattner2006-05-142-2/+1
| | | | llvm-svn: 28287
* remove dead variablesChris Lattner2006-05-142-3/+0
| | | | llvm-svn: 28286
* Backing out last check-in for now. It's causing an infinite loop gccas lencode.Evan Cheng2006-05-141-6/+0
| | | | llvm-svn: 28284
* Update comment.Chris Lattner2006-05-141-2/+3
| | | | llvm-svn: 28283
* Fixing 2006-05-01-SchedCausingSpills.ll; some clean upEvan Cheng2006-05-132-15/+69
| | | | llvm-svn: 28279
* Revert an un-intended changeEvan Cheng2006-05-131-16/+27
| | | | llvm-svn: 28278
* Add/Sub/Mul are safe to promote here as well. Incrementing a single-bitChris Lattner2006-05-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | bitfield now gives this code: _plus: lwz r2, 0(r3) rlwimi r2, r2, 0, 1, 31 xoris r2, r2, 32768 stw r2, 0(r3) blr instead of this: _plus: lwz r2, 0(r3) srwi r4, r2, 31 slwi r4, r4, 31 addis r4, r4, -32768 rlwimi r2, r4, 0, 0, 0 stw r2, 0(r3) blr this can obviously still be improved. llvm-svn: 28275
* Merge identical code.Chris Lattner2006-05-131-8/+0
| | | | llvm-svn: 28274
* Implement simple promotion for cast elimination in instcombine. This isChris Lattner2006-05-131-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | currently very limited, but can be extended in the future. For example, we now compile: uint %test30(uint %c1) { %c2 = cast uint %c1 to ubyte %c3 = xor ubyte %c2, 1 %c4 = cast ubyte %c3 to uint ret uint %c4 } to: _xor: movzbl 4(%esp), %eax xorl $1, %eax ret instead of: _xor: movb $1, %al xorb 4(%esp), %al movzbl %al, %eax ret More impressively, we now compile: struct B { unsigned bit : 1; }; void xor(struct B *b) { b->bit = b->bit ^ 1; } To (X86/PPC): _xor: movl 4(%esp), %eax xorl $-2147483648, (%eax) ret _xor: lwz r2, 0(r3) xoris r2, r2, 32768 stw r2, 0(r3) blr instead of (X86/PPC): _xor: movl 4(%esp), %eax movl (%eax), %ecx movl %ecx, %edx shrl $31, %edx # TRUNCATE movb %dl, %dl xorb $1, %dl movzbl %dl, %edx andl $2147483647, %ecx shll $31, %edx orl %ecx, %edx movl %edx, (%eax) ret _xor: lwz r2, 0(r3) srwi r4, r2, 31 xori r4, r4, 1 rlwimi r2, r4, 31, 0, 0 stw r2, 0(r3) blr This implements InstCombine/cast.ll:test30. llvm-svn: 28273
* Remove some dead variables.Chris Lattner2006-05-122-7/+2
| | | | | | Fix a nasty bug in the memcmp optimizer where we used the wrong variable! llvm-svn: 28269
* Remove dead stuffChris Lattner2006-05-121-4/+0
| | | | llvm-svn: 28268
* Fix build breakage :(Chris Lattner2006-05-121-1/+3
| | | | llvm-svn: 28267
* More coverity fixesChris Lattner2006-05-122-2/+3
| | | | llvm-svn: 28266
* Dead variableChris Lattner2006-05-121-2/+0
| | | | llvm-svn: 28265
* Remove dead var, fix bad override.Chris Lattner2006-05-122-2/+3
| | | | llvm-svn: 28264
* If the register allocator cannot find a register to spill, try the aliases. IfEvan Cheng2006-05-121-2/+19
| | | | | | | that still fails (because all the register spill weights are inf), just grab one. llvm-svn: 28262
* Remove dead codeEvan Cheng2006-05-121-4/+1
| | | | llvm-svn: 28261
* Fix accidentally committed patch.Chris Lattner2006-05-121-1/+1
| | | | llvm-svn: 28260
* Actually override the right method. :)Chris Lattner2006-05-121-1/+1
| | | | | | Bug identified by coverity. llvm-svn: 28259
* remove dead variable.Chris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28258
* Fix iterator invalidation bug, identified by Coverity.Chris Lattner2006-05-122-1/+2
| | | | llvm-svn: 28257
* Fix a hypothetical memory leak, identified by Coverity. In practice, thisChris Lattner2006-05-121-1/+3
| | | | | | object is never deleted though. llvm-svn: 28256
* Remove dead varsChris Lattner2006-05-121-2/+0
| | | | llvm-svn: 28255
* remove dead varsChris Lattner2006-05-121-2/+1
| | | | llvm-svn: 28254
* Remove dead variableChris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28253
* Comment out dead variablesChris Lattner2006-05-121-2/+2
| | | | llvm-svn: 28252
* When reading the symbol table, make sure to delete the ArchiveMemberReid Spencer2006-05-121-0/+2
| | | | | | created by reading the symbol table. llvm-svn: 28251
* Remove dead varChris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28250
* Remove dead variableChris Lattner2006-05-121-2/+0
| | | | llvm-svn: 28249
* remove dead variable.Chris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28248
* Remove dead variable.Chris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28247
* Compile:Chris Lattner2006-05-121-1/+6
| | | | | | | | | | %tmp152 = setgt uint %tmp144, %tmp149 ; <bool> [#uses=1] %tmp159 = setlt uint %tmp144, %tmp149 ; <bool> [#uses=1] %bothcond2 = or bool %tmp152, %tmp159 ; <bool> [#uses=1] To setne, not setune, which causes an assertion fault. llvm-svn: 28244
* Fix PowerPC/2006-05-12-rlwimi-crash.llChris Lattner2006-05-121-3/+4
| | | | | | | Nate, please verify that if InsertMask is 0, rlwimi shouldn't be used. This fixes the crash and causes no PPC testsuite regressions. llvm-svn: 28243
* Add a method to generate a string representation from a TargetData.Owen Anderson2006-05-121-0/+21
| | | | | | This continues the work on PR 761. llvm-svn: 28239
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-1218-0/+18
| | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238
* Fix some tabbing issues.Owen Anderson2006-05-121-29/+29
| | | | llvm-svn: 28237
* Backing out fix for PR770. Need to re-apply it after live range splitting is ↵Evan Cheng2006-05-121-25/+13
| | | | | | possible llvm-svn: 28236
* Duh. That could take a long time.Evan Cheng2006-05-121-11/+15
| | | | llvm-svn: 28235
* Add a new constructor to TargetData that builds a TargetData from itsOwen Anderson2006-05-121-0/+65
| | | | | | | | string representation. This is part of PR 761. llvm-svn: 28234
* Two simplifications for token factor nodes: simplify tf(x,x) -> x.Chris Lattner2006-05-121-2/+6
| | | | | | simplify tf(x,y,y,z) -> tf(x,y,z). llvm-svn: 28233
* Add capability to scheduler to commute nodes for profit.Evan Cheng2006-05-122-31/+61
| | | | | | | If a two-address code whose first operand has uses below, it should be commuted when possible. llvm-svn: 28230
* Typo! How did we commute nodes before?!Evan Cheng2006-05-121-1/+1
| | | | llvm-svn: 28229
OpenPOWER on IntegriCloud