1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Commit Graph

39610 Commits

Author SHA1 Message Date
Chris Lattner
f40ef5f964 when linking globals, make sure to preserve the address space of the global.
llvm-svn: 52810
2008-06-27 03:10:24 +00:00
Bill Wendling
d19faaca94 More cruft from revert...
llvm-svn: 52809
2008-06-27 01:37:37 +00:00
Bill Wendling
e0ea004d40 Cruft left from patch revert...sorry. :-(
llvm-svn: 52808
2008-06-27 01:32:08 +00:00
Bill Wendling
e9909a1c2a Reverting broken patch r52803.
llvm-svn: 52806
2008-06-27 01:27:56 +00:00
Owen Anderson
242026fa70 Don't perform expensive queries checking for super and sub registers when we know that there aren't any.
This speed up LiveVariables on instcombine at -O0 -g from 0.3855s to 0.3503s.  Look for more improvements in this area soon!

llvm-svn: 52804
2008-06-27 01:22:50 +00:00
Bill Wendling
d0c2026584 - Remove a use of std::vector.
- Make sure that we're not recalculating the size of a vector
  that never changes.

llvm-svn: 52803
2008-06-27 00:56:36 +00:00
Bill Wendling
2ab62b9a92 Refactor the DebugInfoDesc stuff out of the MachineModuleInfo file. Clean up
some uses of std::vector, where it's return std::vector by value. Yuck!

llvm-svn: 52800
2008-06-27 00:09:40 +00:00
Gordon Henriksen
031f1fe91c Add a note for Thunderbird users to the Developer Policy.
llvm-svn: 52797
2008-06-26 22:58:37 +00:00
Chris Lattner
865a98fba9 allow updating the MPM, so that you can use one FunctionPAssManager with
multiple ModuleProviders, e.g. with the JIT.

llvm-svn: 52796
2008-06-26 22:26:45 +00:00
Evan Cheng
407d3b820b XFAIL for now.
llvm-svn: 52795
2008-06-26 22:09:29 +00:00
Bill Wendling
36ebc296c1 Remove warnings about shadowed and unused variables.
llvm-svn: 52791
2008-06-26 18:11:45 +00:00
Ted Kremenek
40428304c5 Update VS project files. The clang executable now depends on the LLVM Analysis library.
llvm-svn: 52789
2008-06-26 17:53:12 +00:00
Owen Anderson
fd1b58fd7b Use a DenseMap instead of an std::map for mangled name lookup. This is
improves AsmPrinter runtime on instcombine from 0.3920s to 0.3836s.

llvm-svn: 52787
2008-06-26 17:20:16 +00:00
Chris Lattner
85cf534e04 duncan points out that isOperationLegal includes a check for
type legality.  Thanks Duncan!

llvm-svn: 52786
2008-06-26 17:16:00 +00:00
Owen Anderson
889d683ee8 Don't create a whole new string just to copy the elements into it.
llvm-svn: 52785
2008-06-26 17:06:02 +00:00
Owen Anderson
a9fd2b7e53 Use the -enable-pre flag so this test doesn't fail.
llvm-svn: 52784
2008-06-26 17:03:28 +00:00
Matthijs Kooijman
b1217bdbb0 Make LLVM compile on DragonFly BSD (PR2499).
Patch by Hasso Tepper!

llvm-svn: 52781
2008-06-26 10:36:58 +00:00
Matthijs Kooijman
9b72ea4658 Add missing semicolumn in my last commit.
llvm-svn: 52780
2008-06-26 09:49:38 +00:00
Matthijs Kooijman
151654f100 Improve comments wrt createInternalize.
llvm-svn: 52779
2008-06-26 09:48:11 +00:00
Bill Wendling
2d9397ea16 Cleanup for unitialized types. Patch by Jean-Daniel Dupas!
llvm-svn: 52775
2008-06-26 08:32:05 +00:00
Chris Lattner
d67c47bc62 "An improved Mach-O file type detection for sys::IdentifyFileType()
This patch add supports for single architecture mach-o files (the current implementation only support Universal Binary), and solve the signature conflict between java class and Universal Binary magics.

Note that this function will always returned dynamic library for Universal Binaries (like the current implementation) because the binary type is not include in the file header."

Patch by Jean-Daniel Dupas!

llvm-svn: 52766
2008-06-26 05:17:18 +00:00
Owen Anderson
8c36469880 Reserve the size we'll need in advance.
llvm-svn: 52763
2008-06-26 04:47:41 +00:00
Dale Johannesen
76f5dc0cc4 Allow for rounding up of stack frame.
llvm-svn: 52751
2008-06-26 01:55:32 +00:00
Dale Johannesen
f170e29cf5 Fixes the last x86-64 test failure in compat.exp:
<16 x float> is 64-byte aligned (for some reason),
which gets us into the stack realignment code.  The
computation changing FP-relative offsets to SP-relative
was broken, assiging a spill temp to a location
also used for parameter passing.  This
fixes it by rounding up the stack frame to a multiple
of the largest alignment (I concluded it wasn't fixable
without doing this, but I'm not very sure.)

llvm-svn: 52750
2008-06-26 01:51:13 +00:00
Eric Christopher
155c3679f6 Remove unused function.
llvm-svn: 52749
2008-06-26 01:19:35 +00:00
Eric Christopher
4f05c48718 Move GetConstantStringInfo to lib/Analysis. Remove
string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.

llvm-svn: 52748
2008-06-26 00:31:12 +00:00
Chris Lattner
2b67ff8632 when we know the signbit of an input to uint_to_fp is zero,
change it to sint_to_fp on targets where that is cheaper (and
visaversa of course).  This allows us to compile uint_to_fp to:

_test:
	movl	4(%esp), %eax
	shrl	$23, %eax
	cvtsi2ss	%eax, %xmm0
	movl	8(%esp), %eax
	movss	%xmm0, (%eax)
	ret

instead of:

	.align	3
LCPI1_0:					##  double
	.long	0	## double least significant word 4.5036e+15
	.long	1127219200	## double most significant word 4.5036e+15
	.text
	.align	4,0x90
	.globl	_test
_test:
	subl	$12, %esp
	movl	16(%esp), %eax
	shrl	$23, %eax
	movl	%eax, (%esp)
	movl	$1127219200, 4(%esp)
	movsd	(%esp), %xmm0
	subsd	LCPI1_0, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movl	20(%esp), %eax
	movss	%xmm0, (%eax)
	addl	$12, %esp
	ret

llvm-svn: 52747
2008-06-26 00:16:49 +00:00
Owen Anderson
68f11ecb86 Remember which MachineOperand we were processing, so we don't have to scan the list to find it again later.
This speeds up live intervals from 0.37s to 0.30s on instcombine.

llvm-svn: 52745
2008-06-25 23:39:39 +00:00
Dan Gohman
d1467012f5 Fix the text in an assert string.
llvm-svn: 52744
2008-06-25 22:14:43 +00:00
Evan Cheng
71fbfe73c1 - Fix a x86 vector isel bug: illegal transformation of a vector_shuffle into a
shift.
- Add a readme entry for a missing vector_shuffle optimization that results in
  awful codegen.

llvm-svn: 52740
2008-06-25 20:52:59 +00:00
Duncan Sands
12c1bee452 Add support for expanding PPC 128 bit floats.
For this it is convenient to permit floats to
be used with EXTRACT_ELEMENT, so I tweaked
things to allow that.  I also added libcalls
for ppcf128 to i32 forms of FP_TO_XINT, since
they exist in libgcc and this case can certainly
occur (and does occur in the testsuite) - before
the i64 libcall was being used.  Also, the
XINT_TO_FP result seemed to be wrong when
the argument is an i128: the wrong fudge
factor was added (the i32 and i64 cases were
handled directly, but the i128 code fell
through to some generic softening code which
seemed to think it was i64 to f32!).  So I
fixed it by adding a fudge factor that I
found in my breakfast cereal.

llvm-svn: 52739
2008-06-25 20:24:48 +00:00
Chris Lattner
9c5a1a7da3 Implement JIT support for global aliases, patch by David Chisnall!
llvm-svn: 52738
2008-06-25 20:21:35 +00:00
Evan Cheng
5ed0e42cc3 Restore DeadArgElim back to 52570. It's breaking 447.dealII.
llvm-svn: 52736
2008-06-25 18:10:09 +00:00
Chris Lattner
ef1aa7c9db Switch the PPC backend and target-independent JIT to use the libsystem
InvalidateInstructionCache method instead of calling through
a hook on the JIT.  This is a host feature, not a target feature.

llvm-svn: 52734
2008-06-25 17:18:44 +00:00
Chris Lattner
a42eed01e2 fix compilation errors in my previous patch
llvm-svn: 52733
2008-06-25 17:17:53 +00:00
Chris Lattner
24c59453f6 Add a new InvalidateInstructionCache method to sys::Memory.
llvm-svn: 52731
2008-06-25 17:14:10 +00:00
Chris Lattner
8439b66738 jump threading can introduce allocas, make sure we promote
them back to registers!

llvm-svn: 52729
2008-06-25 16:54:18 +00:00
Chris Lattner
20daa88e13 run mem2reg after the second jump threading pass in llvm-ld.
llvm-svn: 52728
2008-06-25 16:51:55 +00:00
Chris Lattner
0e8a5a0004 remove a bunch of dead options that never did anything.
llvm-svn: 52727
2008-06-25 16:44:52 +00:00
Chris Lattner
66e5fe72f4 remove some dead options.
llvm-svn: 52726
2008-06-25 16:44:08 +00:00
Dan Gohman
8205b235b9 SimpleInstructionSelector is here no more.
llvm-svn: 52725
2008-06-25 16:38:59 +00:00
Duncan Sands
ab85726912 Add/complete support for integer and float
select_cc and friends.  This code could be
factorized a bit but I'm not sure that it's
worth it.

llvm-svn: 52724
2008-06-25 16:34:21 +00:00
Duncan Sands
93aacd5b48 Pacify gcc-4.3.
llvm-svn: 52723
2008-06-25 16:31:18 +00:00
Dan Gohman
404964dbc0 Remove the OrigVT member from AtomicSDNode, as it is redundant with
the base SDNode's VTList.

llvm-svn: 52722
2008-06-25 16:07:49 +00:00
Chris Lattner
36049c026a simplify shell syntax to work better on solaris, patch by
Nathan Keynes!

llvm-svn: 52721
2008-06-25 16:03:42 +00:00
Mon P Wang
7d89d61387 Added MemOperands to Atomic operations since Atomics touches memory.
Added abstract class MemSDNode for any Node that have an associated MemOperand
Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and
atomic.lss => atomic.load.sub

llvm-svn: 52706
2008-06-25 08:15:39 +00:00
Matthijs Kooijman
45bffc6580 Fix a (false) warning on darwin.
llvm-svn: 52705
2008-06-25 08:12:16 +00:00
Matthijs Kooijman
9b78534b71 Fix some cosmetics in comments.
llvm-svn: 52704
2008-06-25 08:10:21 +00:00
Evan Cheng
9a3db8fb91 - Use O(1) check of basic block size limit.
- Avoid speculatively execute vector ops.

llvm-svn: 52703
2008-06-25 07:50:12 +00:00
Chris Lattner
73b52018e9 Fix PR2488, a case where we deleted stack restores too aggressively.
llvm-svn: 52702
2008-06-25 05:59:28 +00:00