- Apr 06, 2004
-
-
Chris Lattner authored
llvm-svn: 12682
-
Chris Lattner authored
long %test(long %X) { %Y = sub long 0, %X ret long %Y } We used to generate: test: sub %ESP, 4 mov DWORD PTR [%ESP], %ESI mov %ECX, DWORD PTR [%ESP + 8] mov %ESI, DWORD PTR [%ESP + 12] mov %EAX, 0 mov %EDX, 0 sub %EAX, %ECX sbb %EDX, %ESI mov %ESI, DWORD PTR [%ESP] add %ESP, 4 ret Now we generate: test: mov %EAX, DWORD PTR [%ESP + 4] mov %EDX, DWORD PTR [%ESP + 8] neg %EAX adc %EDX, 0 neg %EDX ret llvm-svn: 12681
-
Chris Lattner authored
llvm-svn: 12680
-
Chris Lattner authored
* In promote32, if we can just promote a constant value, do so instead of promoting a constant dynamically. * In visitReturn inst, actually USE the promote32 argument that takes a Value* The end result of this is that we now generate this: test: mov %EAX, 0 ret instead of... test: mov %AX, 0 movzx %EAX, %AX ret for: ushort %test() { ret ushort 0 } llvm-svn: 12679
-
- Apr 05, 2004
-
-
Chris Lattner authored
llvm-svn: 12674
-
Chris Lattner authored
llvm-svn: 12673
-
Chris Lattner authored
llvm-svn: 12670
-
Misha Brukman authored
llvm-svn: 12669
-
Chris Lattner authored
llvm-svn: 12668
-
Chris Lattner authored
llvm-svn: 12659
-
Chris Lattner authored
llvm-svn: 12658
-
Chris Lattner authored
types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. llvm-svn: 12653
-
Chris Lattner authored
types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. Auto-upgrade .ll files that use ubytes to index into structures to use uint's. llvm-svn: 12652
-
Chris Lattner authored
to index into structure types and allows arbitrary 32- and 64-bit integer types to index into sequential types. llvm-svn: 12651
-
Chris Lattner authored
llvm-svn: 12648
-
- Apr 04, 2004
-
-
Chris Lattner authored
have non-long indices for sequential types. In order to avoid trying to figure out how the v9 backend works, we'll just hack it in the preselection pass. llvm-svn: 12647
-
Chris Lattner authored
llvm-svn: 12646
-
Chris Lattner authored
llvm-svn: 12644
-
Chris Lattner authored
prerelease format for LLVM bytecode files. Now we only are compatible with LLVM 1.0+. llvm-svn: 12643
-
- Apr 03, 2004
-
-
Chris Lattner authored
llvm-svn: 12641
-
Chris Lattner authored
llvm-svn: 12639
-
- Apr 02, 2004
-
-
Brian Gaeke authored
llvm-svn: 12638
-
Chris Lattner authored
llvm-svn: 12633
-
Brian Gaeke authored
Eliminating call-frame pseudo instrs and frame indices are still stubs. Flesh out the emitPrologue method based on better ABI knowledge. llvm-svn: 12632
-
Brian Gaeke authored
Fix up comments. llvm-svn: 12631
-
Brian Gaeke authored
the CALL instruction). llvm-svn: 12630
-
Brian Gaeke authored
llvm-svn: 12629
-
Chris Lattner authored
llvm-svn: 12623
-
Chris Lattner authored
This also implements some new features for the indvars pass, including linear function test replacement, exit value substitution, and it works with a much more general class of induction variables and loops. llvm-svn: 12620
-
Chris Lattner authored
llvm-svn: 12619
-
Chris Lattner authored
llvm-svn: 12618
-
Chris Lattner authored
This actually causes us to turn code like: return C ? A : B; into a select instruction. llvm-svn: 12617
-
Alkis Evlogimenos authored
llvm-svn: 12615
-
Brian Gaeke authored
Move lowerselect pass to come after preselection. Move machine code construction and stack slots pass to come right before instruction selection. This is to help fix perlbmk. Update comments. Make the sequence of passes in addPassesToJITCompile look more like the sequence of passes in addPassesToEmitAssembly, including support for -print-machineinstrs. llvm-svn: 12614
-
Brian Gaeke authored
llvm-svn: 12613
-
Alkis Evlogimenos authored
llvm-svn: 12611
-
Alkis Evlogimenos authored
llvm-svn: 12610
-
Chris Lattner authored
Patch contributed by Reid Spencer llvm-svn: 12609
-
Alkis Evlogimenos authored
llvm-svn: 12607
-
Chris Lattner authored
llvm-svn: 12600
-