- 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
-
Chris Lattner authored
is actually dead because of this! llvm-svn: 22515
-
Chris Lattner authored
llvm-svn: 22513
-
- 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
-
Andrew Lenharth authored
the JIT memory manager will construct a GOT if you want it too. Also, it places the constants in the allocated memory, rather than a malloc area llvm-svn: 22497
-
- 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 20, 2005
-
-
Chris Lattner authored
explained in the comment. This fixes UnitTests/2003-09-18-BitFieldTest on darwin llvm-svn: 22483
-
Chris Lattner authored
llvm-svn: 22480
-
- Jul 19, 2005
-
-
Nate Begeman authored
automatically generated from a target description. llvm-svn: 22470
-
Nate Begeman authored
llvm-svn: 22469
-
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
-
Chris Lattner authored
as a signed compare. This patch may fix PR597, but is correct in any case. llvm-svn: 22465
-
- Jul 18, 2005
-
-
Chris Lattner authored
expand the code to work for all integer datatypes. This should unbreak alpha. llvm-svn: 22464
-
- Jul 16, 2005
-
-
Chris Lattner authored
This allows is to not emit empty sections when .data or .bss is not used. llvm-svn: 22457
-
Chris Lattner authored
llvm-svn: 22455
-
Chris Lattner authored
vector that represents the .o file at once, build up a vector for each section of the .o file. This is needed because the .o file writer needs to be able to switch between sections as it emits them (e.g. switch between the .text section and the .rel section when emitting code). This patch has no functionality change. llvm-svn: 22453
-
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
-
Chris Lattner authored
SelectionDAGLegalize::ExpandLegalUINT_TO_FP method. Add a new method, PromoteLegalUINT_TO_FP, which allows targets to request that UINT_TO_FP operations be promoted to a larger input type. This is useful for targets that have some UINT_TO_FP or SINT_TO_FP operations but not all of them (like X86). The same should be done with SINT_TO_FP, but this patch does not do that yet. llvm-svn: 22447
-
Chris Lattner authored
llvm-svn: 22446
-
- 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
-