1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Commit Graph

24721 Commits

Author SHA1 Message Date
Chris Lattner
aa818c1cad Fix a bug found by inspection.
llvm-svn: 28297
2006-05-14 19:11:40 +00:00
Chris Lattner
a1577bfac0 improve comment.
llvm-svn: 28296
2006-05-14 19:10:22 +00:00
Chris Lattner
e09437b26e Catch a potentially thrown exception.
llvm-svn: 28295
2006-05-14 19:08:39 +00:00
Chris Lattner
96c4ae0fa3 Improve documentation on throwing, it is not complete still though. :(
llvm-svn: 28294
2006-05-14 19:07:07 +00:00
Chris Lattner
05311325f1 LoadLibraryPermanently can theoretically throw an exception. Do not propagate
it out of 'ExecutionEngine::create'.  This fixes a problem reported by coverity.

llvm-svn: 28293
2006-05-14 19:01:55 +00:00
Chris Lattner
d639e0fbce Bug noticed, by inspection. Filename can be null.
llvm-svn: 28292
2006-05-14 19:00:53 +00:00
Chris Lattner
64f0fddc23 This function is not documented as throwing an exception and callers don't
handle it.  Just silently fail.

llvm-svn: 28291
2006-05-14 18:53:09 +00:00
Chris Lattner
872e3ecaa1 inverted logic, caught by coverity
llvm-svn: 28290
2006-05-14 18:46:52 +00:00
Chris Lattner
5aa7f78065 remove some dead code identified by coverity
llvm-svn: 28289
2006-05-14 18:45:44 +00:00
Chris Lattner
cf71b13e15 Delete memory allocated by CopyEnv
llvm-svn: 28288
2006-05-14 18:38:13 +00:00
Chris Lattner
703a8cf960 remove dead var
llvm-svn: 28287
2006-05-14 18:34:36 +00:00
Chris Lattner
4ad747c469 remove dead variables
llvm-svn: 28286
2006-05-14 18:33:57 +00:00
Chris Lattner
fa70e32490 Change token to match asmprinter output
llvm-svn: 28285
2006-05-14 18:23:06 +00:00
Evan Cheng
111642322d Backing out last check-in for now. It's causing an infinite loop gccas lencode.
llvm-svn: 28284
2006-05-14 06:46:03 +00:00
Chris Lattner
3fe38bf77b Update comment.
llvm-svn: 28283
2006-05-14 02:05:19 +00:00
Chris Lattner
2070effca0 This is a proper fix for the compiler warning. A termination condition is
not needed, as it can never be reached: an edge must exist.

llvm-svn: 28282
2006-05-14 02:01:22 +00:00
Reid Spencer
e343483440 Fix an infinite loop bug that Vladimir Prus identified.
llvm-svn: 28281
2006-05-13 18:11:32 +00:00
Reid Spencer
0be60af352 Add a #include <cassert> for situations where Casting.h is used standalone.
Patch contributed by Vladimir Prus.

llvm-svn: 28280
2006-05-13 17:50:38 +00:00
Evan Cheng
489f9bd68f Fixing 2006-05-01-SchedCausingSpills.ll; some clean up
llvm-svn: 28279
2006-05-13 08:22:24 +00:00
Evan Cheng
7bb257e178 Revert an un-intended change
llvm-svn: 28278
2006-05-13 05:53:47 +00:00
Reid Spencer
fa5fca78ee Don't try to reference uninitialized data. Make sure we can find "nm".
llvm-svn: 28277
2006-05-13 02:48:45 +00:00
Reid Spencer
9277db58e9 For PR741:
Update documentation to reflect current LLVM reality:
  + LLVMAlpha.o, LLVMIA64.o
  - Skeleton, execve, ProfilePaths
Also, regenerate the library dependency information.

llvm-svn: 28276
2006-05-13 02:22:01 +00:00
Chris Lattner
c927dced9e Add/Sub/Mul are safe to promote here as well. Incrementing a single-bit
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
2006-05-13 02:16:08 +00:00
Chris Lattner
c439f96b2c Merge identical code.
llvm-svn: 28274
2006-05-13 02:11:14 +00:00
Chris Lattner
eea864472d Implement simple promotion for cast elimination in instcombine. This is
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
2006-05-13 02:06:03 +00:00
Chris Lattner
5f2a11f1bf New testcase for instcombine
llvm-svn: 28272
2006-05-13 02:00:07 +00:00
Chris Lattner
4bbc1d8e95 Remove some dead variables.
Fix a nasty bug in the memcmp optimizer where we used the wrong variable!

llvm-svn: 28269
2006-05-12 23:35:26 +00:00
Chris Lattner
08efc01479 Remove dead stuff
llvm-svn: 28268
2006-05-12 23:32:01 +00:00
Chris Lattner
50371a3046 Fix build breakage :(
llvm-svn: 28267
2006-05-12 23:26:11 +00:00
Chris Lattner
dbbbabb17b More coverity fixes
llvm-svn: 28266
2006-05-12 21:14:20 +00:00
Chris Lattner
db8caed257 Dead variable
llvm-svn: 28265
2006-05-12 21:12:22 +00:00
Chris Lattner
adcb0582d8 Remove dead var, fix bad override.
llvm-svn: 28264
2006-05-12 21:09:57 +00:00
Reid Spencer
1a7e67d221 Don't use old-style casts. This prevents compiler warnings when CommandLine.h
is used in projects that have stricter warning control than LLVM. This also
helps us find casts more easily if we ever need to.

llvm-svn: 28263
2006-05-12 19:20:55 +00:00
Evan Cheng
772647518f If the register allocator cannot find a register to spill, try the aliases. If
that still fails (because all the register spill weights are inf), just grab
one.

llvm-svn: 28262
2006-05-12 19:07:46 +00:00
Evan Cheng
871a83d4d0 Remove dead code
llvm-svn: 28261
2006-05-12 19:03:56 +00:00
Chris Lattner
e020b812f3 Fix accidentally committed patch.
llvm-svn: 28260
2006-05-12 18:20:39 +00:00
Chris Lattner
04a8ddfd68 Actually override the right method. :)
Bug identified by coverity.

llvm-svn: 28259
2006-05-12 18:19:25 +00:00
Chris Lattner
f741502e85 remove dead variable.
llvm-svn: 28258
2006-05-12 18:17:25 +00:00
Chris Lattner
acd1bbfff7 Fix iterator invalidation bug, identified by Coverity.
llvm-svn: 28257
2006-05-12 18:13:11 +00:00
Chris Lattner
b1ad13a4bc Fix a hypothetical memory leak, identified by Coverity. In practice, this
object is never deleted though.

llvm-svn: 28256
2006-05-12 18:10:12 +00:00
Chris Lattner
9e29384a4b Remove dead vars
llvm-svn: 28255
2006-05-12 18:06:45 +00:00
Chris Lattner
9a24639afc remove dead vars
llvm-svn: 28254
2006-05-12 18:04:28 +00:00
Chris Lattner
11064741d3 Remove dead variable
llvm-svn: 28253
2006-05-12 18:02:04 +00:00
Chris Lattner
474e1b7ef3 Comment out dead variables
llvm-svn: 28252
2006-05-12 17:57:54 +00:00
Reid Spencer
ea509eb3ac When reading the symbol table, make sure to delete the ArchiveMember
created by reading the symbol table.

llvm-svn: 28251
2006-05-12 17:56:20 +00:00
Chris Lattner
90527550c1 Remove dead var
llvm-svn: 28250
2006-05-12 17:50:35 +00:00
Chris Lattner
9930cf948e Remove dead variable
llvm-svn: 28249
2006-05-12 17:41:45 +00:00
Chris Lattner
9789688d36 remove dead variable.
llvm-svn: 28248
2006-05-12 17:33:59 +00:00
Chris Lattner
2c316c91e8 Remove dead variable.
llvm-svn: 28247
2006-05-12 17:31:21 +00:00
Chris Lattner
34893c34e5 Avoid defining dead result
llvm-svn: 28246
2006-05-12 17:29:40 +00:00