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 |
|