| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
This prevents bytecode splats with usage like: cat file.ll | llvm-as -
llvm-svn: 19239
|
| |
|
|
|
|
| |
into lib/Support so it can be used with other tools.
llvm-svn: 19238
|
| |
|
|
|
|
| |
a terminal/console.
llvm-svn: 19237
|
| |
|
|
|
|
| |
console or not.
llvm-svn: 19236
|
| |
|
|
| |
llvm-svn: 19235
|
| |
|
|
| |
llvm-svn: 19234
|
| |
|
|
|
|
| |
console or not.
llvm-svn: 19233
|
| |
|
|
| |
llvm-svn: 19232
|
| |
|
|
| |
llvm-svn: 19231
|
| |
|
|
| |
llvm-svn: 19230
|
| |
|
|
| |
llvm-svn: 19229
|
| |
|
|
| |
llvm-svn: 19228
|
| |
|
|
| |
llvm-svn: 19227
|
| |
|
|
| |
llvm-svn: 19226
|
| |
|
|
| |
llvm-svn: 19225
|
| |
|
|
| |
llvm-svn: 19224
|
| |
|
|
|
|
|
| |
Move TableGen generated files out of the src tree
Add descriptions to the custom build steps
llvm-svn: 19223
|
| |
|
|
| |
llvm-svn: 19222
|
| |
|
|
| |
llvm-svn: 19221
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* We can now fold cast instructions into select instructions that
have at least one constant operand.
* We now optimize expressions more aggressively based on bits that are
known to be zero. These optimizations occur a lot in code that uses
bitfields even in simple ways.
* We now turn more cast-cast sequences into AND instructions. Before we
would only do this if it if all types were unsigned. Now only the
middle type needs to be unsigned (guaranteeing a zero extend).
* We transform sign extensions into zero extensions in several cases.
This corresponds to these test/Regression/Transforms/InstCombine testcases:
2004-11-22-Missed-and-fold.ll
and.ll: test28-29
cast.ll: test21-24
and-or-and.ll
cast-cast-to-and.ll
zeroext-and-reduce.ll
llvm-svn: 19220
|
| |
|
|
| |
llvm-svn: 19219
|
| |
|
|
| |
llvm-svn: 19218
|
| |
|
|
| |
llvm-svn: 19217
|
| |
|
|
| |
llvm-svn: 19216
|
| |
|
|
| |
llvm-svn: 19215
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While we're at it, improve codegen of select instructions. For this
testcase:
int %test(bool %C, int %A, int %B) {
%D = select bool %C, int %A, int %B
ret int %D
}
We used to generate this code:
_test:
cmpwi cr0, r3, 0
bne .LBB_test_2 ;
.LBB_test_1: ;
b .LBB_test_3 ;
.LBB_test_2: ;
or r5, r4, r4
.LBB_test_3: ;
or r3, r5, r5
blr
Now we emit:
_test:
cmpwi cr0, r3, 0
bne .LBB_test_2 ;
.LBB_test_1: ;
or r4, r5, r5
.LBB_test_2: ;
or r3, r4, r4
blr
-Chris
llvm-svn: 19214
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In particular, instead of compiling this:
bool %test(int %A, int %B) {
%C = setlt int %A, %B
ret bool %C
}
to this:
test:
save %sp, -96, %sp
subcc %i0, %i1, %g0
bl .LBBtest_1 !
nop
ba .LBBtest_2 !
nop
.LBBtest_1: !
or %g0, 1, %i0
ba .LBBtest_3 !
nop
.LBBtest_2: !
or %g0, 0, %i0
ba .LBBtest_3 !
nop
.LBBtest_3: !
restore %g0, %g0, %g0
retl
nop
We now compile it to this:
test:
save %sp, -96, %sp
subcc %i0, %i1, %g0
or %g0, 1, %i0
bl .LBBtest_2 !
nop
.LBBtest_1: !
or %g0, %g0, %i0
.LBBtest_2: !
restore %g0, %g0, %g0
retl
nop
llvm-svn: 19213
|
| |
|
|
|
|
|
|
| |
SimplifyCFG is one of those passes that we use for final cleanup: it should
not rely on other passes to clean up its garbage. This fixes the "why are
trivially dead setcc's in the output of gccas" problem.
llvm-svn: 19212
|
| |
|
|
|
|
| |
dead instructions.
llvm-svn: 19211
|
| |
|
|
| |
llvm-svn: 19210
|
| |
|
|
| |
llvm-svn: 19209
|
| |
|
|
| |
llvm-svn: 19208
|
| |
|
|
| |
llvm-svn: 19207
|
| |
|
|
|
|
| |
correctly omit them for non-Unix operating systems.
llvm-svn: 19206
|
| |
|
|
|
|
| |
Make LLVM_ON_UNIX and LLVM_ON_WIN32 available in the makefiles
llvm-svn: 19205
|
| |
|
|
|
|
| |
libraries and tools. Thanks to Henrik Bach for this suggestion.
llvm-svn: 19204
|
| |
|
|
| |
llvm-svn: 19203
|
| |
|
|
| |
llvm-svn: 19202
|
| |
|
|
| |
llvm-svn: 19201
|
| |
|
|
|
|
| |
* lib/System depends on sbrk(3), make sure we check for it.
llvm-svn: 19200
|
| |
|
|
| |
llvm-svn: 19199
|
| |
|
|
| |
llvm-svn: 19198
|
| |
|
|
|
|
| |
* Make library descriptions consistently lower case.
llvm-svn: 19197
|
| |
|
|
|
|
|
| |
* Make subordinate libraries presented with a vertical list instead of all
listed on a single line.
llvm-svn: 19196
|
| |
|
|
| |
llvm-svn: 19195
|
| |
|
|
|
|
| |
library dependencies, for documentation purposes.
llvm-svn: 19194
|
| |
|
|
|
|
| |
processed.
llvm-svn: 19193
|
| |
|
|
|
|
|
|
|
|
| |
* Place a try/catch block around the entire tool to Make sure std::string
exceptions are caught and printed before exiting the tool.
* Make sure we catch unhandled exceptions at the top level so that we don't
abort with a useless message but indicate than an unhandled exception was
generated.
llvm-svn: 19192
|
| |
|
|
| |
llvm-svn: 19190
|
| |
|
|
|
|
|
|
| |
* Add CAN_DLOPEN_SELF so we can determine if dlopen(0) will open the
program or not.
* Correct a warning messages to be a little more specific on what it checks
llvm-svn: 19184
|