- May 10, 2004
-
-
Chris Lattner authored
in the basic block being processed. This fixes PhiElimination on kimwitu++ from taking 105s to taking a much more reasonable 0.6s (in a debug build). llvm-svn: 13453
-
Chris Lattner authored
than before. Because this is the case, we can compute the first non-phi instruction once when de-phi'ing a block. This shaves ~4s off of phielimination of _Z7yyparsev in kimwitu++ from 109s -> 105s. There are still much more important gains to come. llvm-svn: 13452
-
Chris Lattner authored
compiling things like 'add long %X, 1'. The problem is that we were switching the order of the operands for longs even though we can't fold them yet. llvm-svn: 13451
-
Chris Lattner authored
llvm-svn: 13450
-
Chris Lattner authored
when we see a read of a register. This is important in cases like: AL = ... AH = ... = AX The read of AX must make both the AL and AH defs live until the use. llvm-svn: 13444
-
Chris Lattner authored
llvm-svn: 13443
-
Reid Spencer authored
llvm-svn: 13442
-
Reid Spencer authored
around the problem with Stacker on Solaris because the Stack can handle 64-bit entries (pointer sized). llvm-svn: 13441
-
Chris Lattner authored
llvm-svn: 13440
-
Chris Lattner authored
llvm-svn: 13439
-
- May 09, 2004
-
-
Chris Lattner authored
syntactically loopify natural loops so that the GCC loop optimizer can find them. This should *dramatically* improve the performance of CBE compiled code on targets that depend on GCC's loop optimizations (like PPC) llvm-svn: 13438
-
Chris Lattner authored
llvm-svn: 13437
-
Chris Lattner authored
llvm-svn: 13436
-
Chris Lattner authored
FindUsedTypes manipulation stuff out to be a seperate pass, and make the main CWriter be a function pass now! llvm-svn: 13435
-
Brian Gaeke authored
Rewrite portability intro. llvm-svn: 13434
-
Chris Lattner authored
llvm-svn: 13433
-
Chris Lattner authored
llvm-svn: 13432
-
Chris Lattner authored
llvm-svn: 13431
-
Chris Lattner authored
Print all PHI copies for successor blocks before the terminator, whether it be a conditional branch or switch. llvm-svn: 13430
-
Chris Lattner authored
llvm-svn: 13429
-
- May 08, 2004
-
-
Tanya Lattner authored
llvm-svn: 13428
-
Tanya Lattner authored
llvm-svn: 13427
-
Tanya Lattner authored
Also added ModuloScheduling as a friend. llvm-svn: 13426
-
Tanya Lattner authored
llvm-svn: 13425
-
Tanya Lattner authored
llvm-svn: 13424
-
Brian Gaeke authored
Flesh out the SetCC support... which currently ends in a little bit of unfinished code (which is probably completely hilarious) for generating the condition value splitting the basic block up into 4 blocks, like this (clearly a better API is needed for this!): BB cond. branch / / R1=1 R2=0 \ / \ / R=phi(R1,R2) Other minor edits. llvm-svn: 13423
-
Brian Gaeke authored
llvm-svn: 13422
-
Brian Gaeke authored
llvm-svn: 13421
-
Brian Gaeke authored
llvm-svn: 13420
-
Brian Gaeke authored
llvm-svn: 13419
-
Brian Gaeke authored
Add support for branches (based loosely on X86/InstSelectSimple). Add support for not visiting phi nodes in the first pass. Add support for loading bools. Flesh out support for stores. llvm-svn: 13418
-
Alkis Evlogimenos authored
llvm-svn: 13417
-
Alkis Evlogimenos authored
llvm-svn: 13416
-
Chris Lattner authored
%tmp.0 = getelementptr [50 x sbyte]* %ar, uint 0, int 5 ; <sbyte*> [#uses=2] %tmp.7 = getelementptr sbyte* %tmp.0, int 8 ; <sbyte*> [#uses=1] together. This patch actually allows us to simplify and generalize the code. llvm-svn: 13415
-
- May 07, 2004
-
-
Brian Gaeke authored
when they have to run a gccld shell script without having lli in their path. This is intended to address Bug 289. Also, emit the traditional syntax ${1+"$@"} for passing all of a shell script's args to a subprocess. If you have arguments that have spaces in them, $* will not preserve the quoting (i.e., the quoted string "foo bar" as an argument will end up as two arguments "foo" "bar" to lli.) llvm-svn: 13414
-
Brian Gaeke authored
Disable the code that copies long constants to registers - it looks fishy. Implement some simple casts: integral, smaller than longs, and equal-width or narrowing only. llvm-svn: 13413
-
Chris Lattner authored
allows us to compile: store float 10.0, float* %P into: mov DWORD PTR [%EAX], 1092616192 instead of: .CPItest_0: # float 0x4024000000000000 .long 1092616192 # float 10 ... fld DWORD PTR [.CPItest_0] fstp DWORD PTR [%EAX] llvm-svn: 13409
-
Brian Gaeke authored
llvm-svn: 13408
-
Chris Lattner authored
against zero. In particular, don't emit: mov %ESI, 0 cmp %ECX, %ESI instead, emit: test %ECX, %ECX llvm-svn: 13407
-
Chris Lattner authored
llvm-svn: 13406
-