- Jul 27, 2005
-
-
Nate Begeman authored
unnecessary SP manipulation in leaf routines that don't need it. llvm-svn: 22522
-
Chris Lattner authored
llvm-svn: 22521
-
Jeff Cohen authored
llvm-svn: 22520
-
- Jul 26, 2005
-
-
Chris Lattner authored
llvm-svn: 22518
-
Chris Lattner authored
llvm-svn: 22517
-
Nate Begeman authored
llvm-svn: 22516
-
- Jul 25, 2005
-
-
Nate Begeman authored
the need to build PIC. llvm-svn: 22512
-
- Jul 23, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22508
-
Chris Lattner authored
llvm-svn: 22507
-
Andrew Lenharth authored
Handle more imm forms, and load small negative i32 constants without hitting memory (should do the same for arbitrary zero extended small negative constants) llvm-svn: 22505
-
- Jul 22, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22502
-
Andrew Lenharth authored
llvm-svn: 22500
-
Andrew Lenharth authored
llvm-svn: 22499
-
Andrew Lenharth authored
llvm-svn: 22498
-
- Jul 21, 2005
-
-
Nate Begeman authored
Remove the LoadHiAddr pseudo-instruction. Optimization of stores to and loads from statics. Force JIT to use new non-PIC codepaths. llvm-svn: 22494
-
Chris Lattner authored
llvm-svn: 22493
-
Nate Begeman authored
PowerPC gets subtarget support up. llvm-svn: 22489
-
Nate Begeman authored
8-byte align doubles. llvm-svn: 22486
-
- Jul 19, 2005
-
-
Nate Begeman authored
automatically generated from a target description. llvm-svn: 22470
-
Reid Spencer authored
This is the first incremental patch to implement this feature. It adds no functionality to LLVM but setup up the information needed from targets in order to implement the optimization correctly. Each target needs to specify the maximum number of store operations for conversion of the llvm.memset, llvm.memcpy, and llvm.memmove intrinsics into a sequence of store operations. The limit needs to be chosen at the threshold of performance for such an optimization (generally smallish). The target also needs to specify whether the target can support unaligned stores for multi-byte store operations. This helps ensure the optimization doesn't generate code that will trap on an alignment errors. More patches to follow. llvm-svn: 22468
-
- Jul 16, 2005
-
-
Nate Begeman authored
the target natively supports. This eliminates some special-case code from the x86 backend and generates better code as well. For an i8 to f64 conversion, before & after: _x87 before: subl $2, %esp movb 6(%esp), %al movsbw %al, %ax movw %ax, (%esp) filds (%esp) addl $2, %esp ret _x87 after: subl $2, %esp movsbw 6(%esp), %ax movw %ax, (%esp) filds (%esp) addl $2, %esp ret _sse before: subl $12, %esp movb 16(%esp), %al movsbl %al, %eax cvtsi2sd %eax, %xmm0 addl $12, %esp ret _sse after: subl $12, %esp movsbl 16(%esp), %eax cvtsi2sd %eax, %xmm0 addl $12, %esp ret llvm-svn: 22452
-
Nate Begeman authored
llvm-svn: 22451
-
Nate Begeman authored
llvm-svn: 22450
-
Chris Lattner authored
legalizer to eliminate them. With this comes the expected code quality improvements, such as, for this: double foo(unsigned short X) { return X; } we now generate this: _foo: subl $4, %esp movzwl 8(%esp), %eax movl %eax, (%esp) fildl (%esp) addl $4, %esp ret instead of this: _foo: subl $4, %esp movw 8(%esp), %ax movzwl %ax, %eax ;; Load not folded into this. movl %eax, (%esp) fildl (%esp) addl $4, %esp ret -Chris llvm-svn: 22449
-
- Jul 15, 2005
-
-
Nate Begeman authored
working, and Olden/power. llvm-svn: 22441
-
Nate Begeman authored
llvm-svn: 22440
-
- Jul 14, 2005
-
-
John Criswell authored
Add parenthesis around the value being negated; that way, if the value begins with a minus sign (e.g. negative integer), we won't generate a C predecrement operator by mistake. llvm-svn: 22437
-
- Jul 12, 2005
-
-
Nate Begeman authored
working before modifying the asm printer to use the subtarget info. llvm-svn: 22408
-
Nate Begeman authored
llvm-svn: 22407
-
Andrew Lenharth authored
llvm-svn: 22397
-
Jeff Cohen authored
llvm-svn: 22394
-
Nate Begeman authored
to the constructor. llvm-svn: 22392
-
Chris Lattner authored
llvm-svn: 22391
-
Chris Lattner authored
llvm-svn: 22390
-
Nate Begeman authored
Implement the X86 Subtarget. This consolidates the checks for target triple, and setting options based on target triple into one place. This allows us to convert the asm printer and isel over from being littered with "forDarwin", "forCygwin", etc. into just having the appropriate flags for each subtarget feature controlling the code for that feature. This patch also implements indirect external and weak references in the X86 pattern isel, for darwin. Next up is to convert over the asm printers to use this new interface. llvm-svn: 22389
-
Nate Begeman authored
llvm-svn: 22388
-
Chris Lattner authored
llvm-svn: 22385
-
- Jul 11, 2005
-
-
Chris Lattner authored
llvm-svn: 22381
-
Chris Lattner authored
llvm-svn: 22380
-
Chris Lattner authored
after itself. llvm-svn: 22376
-