Commit Graph

26473 Commits

Author SHA1 Message Date
Chris Lattner c9dc375d3e add a nate note
llvm-svn: 30399
2006-09-15 20:31:36 +00:00
Chris Lattner 1bcb3d16cc xfail this for now
llvm-svn: 30398
2006-09-15 17:25:22 +00:00
Chris Lattner 9482cc5b16 revert previous two patches. They cause miscompilation of MultiSource/Applications/Burg
llvm-svn: 30397
2006-09-15 17:24:45 +00:00
Jim Laskey ee7929db34 Switching to NewNightlyTest.php
llvm-svn: 30394
2006-09-15 17:03:36 +00:00
Chris Lattner 84890d2da1 The inliner strips dead allocas now. Add a use to allow this test to
test the right thing.

llvm-svn: 30393
2006-09-15 16:53:11 +00:00
Owen Anderson edadd3faee Revert my previous work on ArgumentPromotion. Further investigation has revealed these
changes to be incorrect.  They just weren't showing up in any of our current testcases.

llvm-svn: 30385
2006-09-15 05:22:51 +00:00
Chris Lattner 8d2b9a431b Unbreak the JIT
llvm-svn: 30384
2006-09-15 04:56:11 +00:00
Chris Lattner 8fb3d445f5 Keep track of the start of MBB's in a separate map from instructions. This
is faster and is needed for future improvements.

llvm-svn: 30383
2006-09-15 03:57:23 +00:00
Evan Cheng f8464da015 Remove a unnecessary check.
llvm-svn: 30382
2006-09-14 23:55:02 +00:00
Chris Lattner 3ffda067e3 Relax this check.
llvm-svn: 30381
2006-09-14 23:54:24 +00:00
Devang Patel 9ce9df5912 Undo previous check-in.
Reintroduce recursive assignDFSNumber().

llvm-svn: 30380
2006-09-14 21:43:24 +00:00
Chris Lattner 46d710e6ea Fold (X & C1) | (Y & C2) -> (X|Y) & C3 when possible.
This implements CodeGen/X86/and-or-fold.ll

llvm-svn: 30379
2006-09-14 21:11:37 +00:00
Chris Lattner 4c4e077546 New testcase
llvm-svn: 30378
2006-09-14 21:10:06 +00:00
Chris Lattner 2aa98e0363 add a note
llvm-svn: 30377
2006-09-14 20:56:30 +00:00
Chris Lattner 97614c86ce Split rotate matching code out to its own function. Make it stronger, by
matching things like ((x >> c1) & c2) | ((x << c3) & c4) to (rot x, c5) & c6

llvm-svn: 30376
2006-09-14 20:50:57 +00:00
Anton Korobeynikov 73441cd099 Adding generated files for the last commit
llvm-svn: 30375
2006-09-14 18:25:26 +00:00
Anton Korobeynikov d61d39ec53 Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.

llvm-svn: 30374
2006-09-14 18:23:27 +00:00
Evan Cheng 616aa548b2 Use getOffset() instead.
llvm-svn: 30327
2006-09-14 07:41:12 +00:00
Evan Cheng 2ad050fb3e Use MachineConstantPoolEntry getOffset() and getType() accessors.
llvm-svn: 30326
2006-09-14 07:35:00 +00:00
Evan Cheng 0460f42da9 Add MachineConstantPoolEntry getOffset() accessor.
llvm-svn: 30325
2006-09-14 07:32:32 +00:00
Evan Cheng 316843372e The top bit is used to determine whether it's a MachineConstantPoolValue.
llvm-svn: 30324
2006-09-14 07:30:48 +00:00
Chris Lattner 3a68d40dd3 revert accidentally committed file
llvm-svn: 30323
2006-09-14 06:42:17 +00:00
Chris Lattner e1a6cec41b Remove dead methods, add getNumBlockIDs() method
llvm-svn: 30322
2006-09-14 06:40:48 +00:00
Chris Lattner a4f1e8f6b8 Use new config.h macro
llvm-svn: 30321
2006-09-14 06:21:59 +00:00
Reid Spencer d28c7c87d7 Add a HAVE_MACH_MACH_H #define to detect the presence of the mach/mach.h
header file on Darwin.

llvm-svn: 30319
2006-09-14 06:17:21 +00:00
Chris Lattner 3f0ffd31cf add a new (hidden) -disable-core-files option
llvm-svn: 30318
2006-09-14 06:17:09 +00:00
Chris Lattner 2f107cfc0d On Mac OS/X, make Process::PreventCoreFiles disable crash reporter for
the process in addition to disabling core file emission.  This speeds up
bugpoint on default-configured macs by several orders of magnitude.

llvm-svn: 30317
2006-09-14 06:01:41 +00:00
Evan Cheng 4f9299552b A MachineConstantPool may have mixed Constant* and MachineConstantPoolValue* values.
llvm-svn: 30316
2006-09-14 05:50:57 +00:00
Devang Patel dd53fd41cd Add comment.
llvm-svn: 30315
2006-09-14 05:49:10 +00:00
Evan Cheng affe88eeac Mirrors ConstantPoolSDNode.
llvm-svn: 30314
2006-09-14 05:48:39 +00:00
Nick Lewycky 426df57aec Document new --enable-valgrind option.
llvm-svn: 30313
2006-09-14 04:33:29 +00:00
Nick Lewycky a2c681ab41 Fix --enable-valgrind. Add room for the new arguments, and don't keep
a pointer to a temporary.

llvm-svn: 30312
2006-09-14 04:20:17 +00:00
Nick Lewycky 7faef23f02 Add --enable-valgrind option to run optimizations through valgrind to
pick up on memory errors.

llvm-svn: 30311
2006-09-14 03:49:54 +00:00
Devang Patel e480d2a2d7 GlobalValue with InternalLinkage may have operands with ExternalLinkage
type. Do not ignore these operands while finding external references.

llvm-svn: 30310
2006-09-14 01:35:13 +00:00
Devang Patel 23d855b40d Avoid recursion in assignDFSNumber(). Move def from ET-Forest.h
to Dominators.h

llvm-svn: 30309
2006-09-14 01:27:42 +00:00
Chris Lattner 1463377ddb add note about switch lowering
llvm-svn: 30308
2006-09-13 23:37:16 +00:00
Chris Lattner 237ccf2a51 Second half of the fix for Transforms/Inline/inline_cleanup.ll
This folds unconditional branches that are often produced by code
specialization.

llvm-svn: 30307
2006-09-13 21:27:00 +00:00
Nick Lewycky 12efffc96b Add some more consistency checks.
llvm-svn: 30305
2006-09-13 19:32:53 +00:00
Nick Lewycky 51ce8d6b46 Fix unionSets so that it can merge correctly.
llvm-svn: 30304
2006-09-13 19:24:01 +00:00
Chris Lattner 6ef6d06d21 Implement the first half of Transforms/Inline/inline_cleanup.ll
llvm-svn: 30303
2006-09-13 19:23:57 +00:00
Chris Lattner 73eedf0a05 new testcase
llvm-svn: 30302
2006-09-13 19:23:43 +00:00
Evan Cheng 92e5113d48 Skip over first operand when determining REX prefix for two-address code.
llvm-svn: 30300
2006-09-13 19:07:28 +00:00
Nick Lewycky 3a4dc7b489 Erase dead instructions.
llvm-svn: 30298
2006-09-13 18:55:37 +00:00
Chris Lattner 8ed3cd4e90 The sense of this branch was backwards
llvm-svn: 30296
2006-09-13 17:58:57 +00:00
Chris Lattner 971e33930d Turn X < 0 -> TEST X,X js
llvm-svn: 30294
2006-09-13 17:04:54 +00:00
Chris Lattner 0c9ae46c5f The sense of this branch was inverted :(
llvm-svn: 30293
2006-09-13 16:56:12 +00:00
Chris Lattner cd34779ef6 Fix a ton of jit failures
llvm-svn: 30292
2006-09-13 16:21:10 +00:00
Rafael Espindola 3130a756ef add shifts to addressing mode 1
llvm-svn: 30291
2006-09-13 12:09:43 +00:00
Chris Lattner 84cc1f7cb8 If LSR went through a lot of trouble to put constants (e.g. the addr of a global
in a specific BB, don't undo this!).  This allows us to compile
CodeGen/X86/loop-hoist.ll into:

_foo:
        xorl %eax, %eax
***     movl L_Arr$non_lazy_ptr, %ecx
        movl 4(%esp), %edx
LBB1_1: #cond_true
        movl %eax, (%ecx,%eax,4)
        incl %eax
        cmpl %edx, %eax
        jne LBB1_1      #cond_true
LBB1_2: #return
        ret

instead of:

_foo:
        xorl %eax, %eax
        movl 4(%esp), %ecx
LBB1_1: #cond_true
***     movl L_Arr$non_lazy_ptr, %edx
        movl %eax, (%edx,%eax,4)
        incl %eax
        cmpl %ecx, %eax
        jne LBB1_1      #cond_true
LBB1_2: #return
        ret

This was noticed in 464.h264ref.  This doesn't usually affect PPC,
but strikes X86 all the time.

llvm-svn: 30290
2006-09-13 06:02:42 +00:00
Chris Lattner 256aeb321b new testcase
llvm-svn: 30289
2006-09-13 05:59:25 +00:00