- Jan 02, 2005
-
-
Chris Lattner authored
llvm-svn: 19244
-
Chris Lattner authored
llvm-svn: 19243
-
Chris Lattner authored
they are dense. Add a virtual method that targets can choose to implement. llvm-svn: 19242
-
Chris Lattner authored
llvm-svn: 19241
-
Reid Spencer authored
llvm-svn: 19240
-
Reid Spencer authored
This prevents bytecode splats with usage like: cat file.ll | llvm-as - llvm-svn: 19239
-
Reid Spencer authored
into lib/Support so it can be used with other tools. llvm-svn: 19238
-
Reid Spencer authored
a terminal/console. llvm-svn: 19237
-
- Jan 01, 2005
-
-
Jeff Cohen authored
console or not. llvm-svn: 19236
-
Jeff Cohen authored
llvm-svn: 19235
-
Jeff Cohen authored
llvm-svn: 19234
-
Reid Spencer authored
console or not. llvm-svn: 19233
-
Jeff Cohen authored
llvm-svn: 19232
-
Jeff Cohen authored
llvm-svn: 19231
-
Jeff Cohen authored
llvm-svn: 19230
-
Jeff Cohen authored
llvm-svn: 19229
-
Jeff Cohen authored
llvm-svn: 19228
-
Jeff Cohen authored
llvm-svn: 19227
-
Jeff Cohen authored
llvm-svn: 19226
-
Jeff Cohen authored
llvm-svn: 19225
-
Jeff Cohen authored
llvm-svn: 19224
-
Jeff Cohen authored
Move TableGen generated files out of the src tree Add descriptions to the custom build steps llvm-svn: 19223
-
Reid Spencer authored
llvm-svn: 19222
-
Reid Spencer authored
llvm-svn: 19221
-
Chris Lattner authored
* 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
-
Chris Lattner authored
llvm-svn: 19219
-
Chris Lattner authored
llvm-svn: 19218
-
Chris Lattner authored
llvm-svn: 19217
-
Chris Lattner authored
llvm-svn: 19216
-
Chris Lattner authored
llvm-svn: 19215
-
Chris Lattner authored
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
-
Chris Lattner authored
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
-
Chris Lattner authored
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
-
Chris Lattner authored
dead instructions. llvm-svn: 19211
-
Chris Lattner authored
llvm-svn: 19210
-
Chris Lattner authored
llvm-svn: 19209
-
Chris Lattner authored
llvm-svn: 19208
-
Reid Spencer authored
llvm-svn: 19207
-
- Dec 31, 2004
-
-
Reid Spencer authored
correctly omit them for non-Unix operating systems. llvm-svn: 19206
-
Reid Spencer authored
Make LLVM_ON_UNIX and LLVM_ON_WIN32 available in the makefiles llvm-svn: 19205
-