- Jul 16, 2005
-
-
Chris Lattner authored
llvm-svn: 22455
-
Chris Lattner authored
llvm-svn: 22454
-
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
-
Chris Lattner authored
should be looking at CGI.TheDef->getName(). llvm-svn: 22445
-
- Jul 15, 2005
-
-
John Criswell authored
llvm-svn: 22443
-
Nate Begeman authored
working, and Olden/power. llvm-svn: 22441
-
Nate Begeman authored
llvm-svn: 22440
-
Nate Begeman authored
printed as part of the opcode. This allows something like cmp${cc}ss in the x86 backed to be printed as cmpltss, cmpless, etc. depending on what the value of $cc is. llvm-svn: 22439
-
- Jul 14, 2005
-
-
John Criswell authored
turn into a C predecrement operator. llvm-svn: 22438
-
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
-
Chris Lattner authored
gv and Graphviz. llvm-svn: 22434
-
Reid Spencer authored
we actually get the path and not $GRAPHVIZ as the value. * Add a #define for the gv program (HAVE_GV) and its value LLVM_PATH_GV. llvm-svn: 22433
-
Chris Lattner authored
llvm-svn: 22432
-
Reid Spencer authored
llvm-svn: 22430
-
Chris Lattner authored
llvm-svn: 22429
-
Reid Spencer authored
llvm-svn: 22428
-
- Jul 13, 2005
-
-
Reid Spencer authored
GRAPHVIZ will contain the path to the program if its found (or "echo Graphviz" if not) and the #define HAVE_GRAPHVIZ will be defined if its found. llvm-svn: 22424
-
Reid Spencer authored
of pthreads is missing that call (despite it violating the spec). llvm-svn: 22423
-
Jeff Cohen authored
llvm-svn: 22422
-
Jeff Cohen authored
llvm-svn: 22421
-
Jeff Cohen authored
llvm-svn: 22420
-
Chris Lattner authored
It is not safe to call LegalizeOp on something that has already been legalized. Instead, just force another iteration of legalization. This could affect all platforms but X86, as this codepath is dynamically dead on X86 (ISD::MEMSET and friends are legal). llvm-svn: 22419
-
Chris Lattner authored
llvm-svn: 22418
-
Chris Lattner authored
llvm-svn: 22417
-
Chris Lattner authored
though. llvm-svn: 22416
-
Reid Spencer authored
JIT can run against a multi-threaded program without getting its data structures messed up. Also had to add the examples directory to the path for the tests so that ParallelJIT can be found. llvm-svn: 22415
-
Reid Spencer authored
llvm-svn: 22414
-
- Jul 12, 2005
-
-
Reid Spencer authored
Add an example program that utilizes multiple threads in the JIT to process work. This was used by Evan Jones as the original test case for ensuring that the ExecutionEngine was thread safe. Original source by Evan Jones (adapted from other LLVM JIT examples) and made LLVM style compliant by Reid Spencer. llvm-svn: 22411
-
Nate Begeman authored
working before modifying the asm printer to use the subtarget info. llvm-svn: 22408
-
Nate Begeman authored
llvm-svn: 22407
-
Reid Spencer authored
llvm-svn: 22405
-
Reid Spencer authored
This patch completes the changes for making lli thread-safe. Here's the list of changes: * The Support/ThreadSupport* files were removed and replaced with the MutexGuard.h file since all ThreadSupport* declared was a Mutex Guard. The implementation of MutexGuard.h is now based on sys::Mutex which hides its implementation and makes it unnecessary to have the -NoSupport.h and -PThreads.h versions of ThreadSupport. * All places in ExecutionEngine that previously referred to "Mutex" now refer to sys::Mutex * All places in ExecutionEngine that previously referred to "MutexLocker" now refer to MutexGuard (this is frivolous but I believe the technically correct name for such a class is "Guard" not a "Locker"). These changes passed all of llvm-test. All we need now are some test cases that actually use multiple threads. llvm-svn: 22404
-
Reid Spencer authored
Add a Mutex class for thread synchronization in a platform-independent way. The current implementation only supports pthreads. Win32 use of Critical Sections will be added later. The design permits other threading models to be used if (and only if) pthreads is not available. llvm-svn: 22403
-
Reid Spencer authored
* Add check for pthread.h * Make sure -lpthread gets added to LIBS if its available llvm-svn: 22402
-