oota-llvm.git
15 years agoFix a parallel make race condition by swapping the order of -I directories.
Bob Wilson [Fri, 6 Mar 2009 00:00:58 +0000 (00:00 +0000)]
Fix a parallel make race condition by swapping the order of -I directories.
The .cmi files are generated in $(ObjDir) and then copied to $(OcamlDir).
The ocamldep output references the .cmi files in $(ObjDir), so make kicks
off a dependent compile as soon as the local copy is generated.  If the
copy to $(OcamlDir) is not complete at that point, the compiler will read
the partially copied file and complain about a "Corrupted compiled
interface".  Searching $(ObjDir) first avoids this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66217 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a bugpoint bug on anonymous functions. Instead of looking up
Dan Gohman [Thu, 5 Mar 2009 23:20:46 +0000 (23:20 +0000)]
Fix a bugpoint bug on anonymous functions. Instead of looking up
functions in the new module by name, use the ValueMap provided by
CloneModule to do the lookups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66216 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't use plain INC32 and DEC32 on x86-64; it needs
Dan Gohman [Thu, 5 Mar 2009 21:32:23 +0000 (21:32 +0000)]
Don't use plain INC32 and DEC32 on x86-64; it needs
INC64_32r and INC64_16r, because these instructions are encoded
differently on x86-64. This fixes JIT regressions on x86-64 in
kimwitu++ and others.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66207 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen creating X86ISD::INC and X86ISD::DEC nodes, only add one operand.
Dan Gohman [Thu, 5 Mar 2009 21:29:28 +0000 (21:29 +0000)]
When creating X86ISD::INC and X86ISD::DEC nodes, only add one operand.
The extra operand didn't appear to cause any trouble, but it was
erroneous regardless.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66206 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the "test" optimization to recognize "dec" as an add of
Dan Gohman [Thu, 5 Mar 2009 19:32:48 +0000 (19:32 +0000)]
Fix the "test" optimization to recognize "dec" as an add of
negative one, as subtracts of immediates are canonicalized
to adds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66180 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake this test more thorough. Not only should there be no %esi,
Dan Gohman [Thu, 5 Mar 2009 19:31:32 +0000 (19:31 +0000)]
Make this test more thorough. Not only should there be no %esi,
there should be no spilling of anything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66179 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoignore build dirs
Gabor Greif [Thu, 5 Mar 2009 19:22:57 +0000 (19:22 +0000)]
ignore build dirs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66176 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomove some code to gracefully handle the case when a handler crashes.
Chris Lattner [Thu, 5 Mar 2009 18:22:14 +0000 (18:22 +0000)]
move some code to gracefully handle the case when a handler crashes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66171 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGlobalOpt only process non constant local GVs while optimizing global vars.
Devang Patel [Thu, 5 Mar 2009 18:12:02 +0000 (18:12 +0000)]
GlobalOpt only process non constant local GVs while optimizing global vars.

If non constant local GV named A is used by a constant local GV named B (e.g. llvm.dbg.variable) and B is not used by anyone else then eliminate A as well as B.

In other words, debug info should not interfere in removal of unused GV.
--This life, and those below, will be ignored--

M    test/Transforms/GlobalOpt/2009-03-03-dbg.ll
M    lib/Transforms/IPO/GlobalOpt.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66167 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd missing file.
Duncan Sands [Thu, 5 Mar 2009 09:19:13 +0000 (09:19 +0000)]
Add missing file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66160 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago(Hopefully) silence a warning.
Owen Anderson [Thu, 5 Mar 2009 08:23:20 +0000 (08:23 +0000)]
(Hopefully) silence a warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66158 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRegenerate.
Nick Lewycky [Thu, 5 Mar 2009 08:20:44 +0000 (08:20 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66157 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAutodetect the availability of -export-dynamic in the linker.
Nick Lewycky [Thu, 5 Mar 2009 08:20:21 +0000 (08:20 +0000)]
Autodetect the availability of -export-dynamic in the linker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66156 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBe more careful about choosing restore points when doing restore folding. This fixes...
Owen Anderson [Thu, 5 Mar 2009 07:19:18 +0000 (07:19 +0000)]
Be more careful about choosing restore points when doing restore folding.  This fixes some subtle miscompilations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66147 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDaniel wanted the stack printed upside down. Perhaps he
Chris Lattner [Thu, 5 Mar 2009 07:03:49 +0000 (07:03 +0000)]
Daniel wanted the stack printed upside down.  Perhaps he
feels a kinship to machine stacks that grow down.  Now we get
stuff like this:

Stack dump:
0. Program arguments: clang clang_crash_Iw2Osj.mi
1. /Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/xmmintrin.h:624:1: parsing function body '_mm_cvtpi16_ps'
2. /Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/xmmintrin.h:624:1: in compound statement ('{}')
Abort

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66145 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoindicate what the program args line is.
Chris Lattner [Thu, 5 Mar 2009 06:51:42 +0000 (06:51 +0000)]
indicate what the program args line is.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66144 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoswitch this message back to only being in -debug mode.
Chris Lattner [Thu, 5 Mar 2009 06:48:16 +0000 (06:48 +0000)]
switch this message back to only being in -debug mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66143 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen allocating stubs, keep track of which Functions are referencing the stub.
Nate Begeman [Thu, 5 Mar 2009 06:34:37 +0000 (06:34 +0000)]
When allocating stubs, keep track of which Functions are referencing the stub.
This invalidates the stubs in the resolver map when they are no longer referenced,
and should the JIT memory manager ever pick up a deallocateStub interface, the
JIT could reclaim the memory for unused stubs as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66141 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDo not split edges to EH landing pads. It will cause code size explosion.
Evan Cheng [Thu, 5 Mar 2009 06:31:26 +0000 (06:31 +0000)]
Do not split edges to EH landing pads. It will cause code size explosion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66140 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix how livein live intervals are handled. Previously it could end at MBB start....
Evan Cheng [Thu, 5 Mar 2009 03:34:26 +0000 (03:34 +0000)]
Fix how livein live intervals are handled. Previously it could end at MBB start. Sorry, no small test case possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66129 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix another case where debug info was affecting
Dale Johannesen [Thu, 5 Mar 2009 02:06:48 +0000 (02:06 +0000)]
Fix another case where debug info was affecting
codegen.  I convinced myself it was OK to skip all
pointer bitcasts here too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66122 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIgnore the debug info intrinsics when looking for dependency through basic block.
Zhou Sheng [Thu, 5 Mar 2009 01:45:43 +0000 (01:45 +0000)]
Ignore the debug info intrinsics when looking for dependency through basic block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66119 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd comment to emphasize that the while body is empty.
Bill Wendling [Thu, 5 Mar 2009 01:08:35 +0000 (01:08 +0000)]
Add comment to emphasize that the while body is empty.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66115 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix another case where a dbg.declare meant something
Dale Johannesen [Thu, 5 Mar 2009 00:39:02 +0000 (00:39 +0000)]
Fix another case where a dbg.declare meant something
had 2 uses instead of 1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66112 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoShould have XFAILed this test.
Bill Wendling [Wed, 4 Mar 2009 22:29:34 +0000 (22:29 +0000)]
Should have XFAILed this test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66086 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTemporarily revert r65994. It was causing rdar://6646455.
Bill Wendling [Wed, 4 Mar 2009 22:02:09 +0000 (22:02 +0000)]
Temporarily revert r65994. It was causing rdar://6646455.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66083 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoooops, forgot to include the pointless-write eliminator in my previous checkin
Gabor Greif [Wed, 4 Mar 2009 21:54:31 +0000 (21:54 +0000)]
ooops, forgot to include the pointless-write eliminator in my previous checkin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66081 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some cautionary comments.
Dale Johannesen [Wed, 4 Mar 2009 21:53:29 +0000 (21:53 +0000)]
Add some cautionary comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66080 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd some helper classes for building light-weight symbolic stack traces
Chris Lattner [Wed, 4 Mar 2009 21:40:23 +0000 (21:40 +0000)]
add some helper classes for building light-weight symbolic stack traces
that get printed when a program crashes.  This is the first step of many.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66076 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRe-commit 65975 and a fix for the problem that
Dale Johannesen [Wed, 4 Mar 2009 21:24:04 +0000 (21:24 +0000)]
Re-commit 65975 and a fix for the problem that
was causing llvm-gcc to fail to build.  I've
verified it bootstraps now; good enough for me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66073 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a new 'AddSignalHandler' function to Signals.h that allows
Chris Lattner [Wed, 4 Mar 2009 21:21:36 +0000 (21:21 +0000)]
Add a new 'AddSignalHandler' function to Signals.h that allows
arbitrary functions to be run when a crash happens.  Delete
RemoveDirectoryOnSignal as it is dead and has never had clients.

Change PrintStackTraceOnErrorSignal to be implemented in terms of
AddSignalHandler.

I updated the Win32 versions of these APIs, but can't test them.
If there are any problems, I'd be happy to fix them as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66072 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix this comment.
Dan Gohman [Wed, 4 Mar 2009 20:50:23 +0000 (20:50 +0000)]
Fix this comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66065 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd an assertion for a condition that's always true, and not
Dan Gohman [Wed, 4 Mar 2009 20:49:01 +0000 (20:49 +0000)]
Add an assertion for a condition that's always true, and not
immediately obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66062 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGive sentinel traits the right to determine the policy where the sentinel is kept.
Gabor Greif [Wed, 4 Mar 2009 20:36:44 +0000 (20:36 +0000)]
Give sentinel traits the right to determine the policy where the sentinel is kept.
This should result in less indirect memory accesses, less dead writes and tighter code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66061 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRe-apply 66008, now that the unfoldMemoryOperand bug is fixed.
Dan Gohman [Wed, 4 Mar 2009 19:44:21 +0000 (19:44 +0000)]
Re-apply 66008, now that the unfoldMemoryOperand bug is fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66058 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCorrect this comment.
Dan Gohman [Wed, 4 Mar 2009 19:24:25 +0000 (19:24 +0000)]
Correct this comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66057 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen using MachineInstr operand indices on SDNodes, the number
Dan Gohman [Wed, 4 Mar 2009 19:23:38 +0000 (19:23 +0000)]
When using MachineInstr operand indices on SDNodes, the number
of MachineInstr def operands must be subtracted out. This bug
was uncovered by the recent x86 EFLAGS optimization. Before
that, the only instructions that ever needed unfolding were
things like CMP32rm, where NumDefs is zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66056 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agocomplete comment.
Chris Lattner [Wed, 4 Mar 2009 19:23:25 +0000 (19:23 +0000)]
complete comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66055 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agothis wasn't intended to be committed.
Chris Lattner [Wed, 4 Mar 2009 19:22:30 +0000 (19:22 +0000)]
this wasn't intended to be committed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66054 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix PR3720 by properly propagating alignment information from memcpy/memmove
Chris Lattner [Wed, 4 Mar 2009 19:20:50 +0000 (19:20 +0000)]
Fix PR3720 by properly propagating alignment information from memcpy/memmove
onto element accesses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66053 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a thinko in the JIT where the address of a GV was only recorded in the map
Nate Begeman [Wed, 4 Mar 2009 19:10:38 +0000 (19:10 +0000)]
Fix a thinko in the JIT where the address of a GV was only recorded in the map
  on failure to resolve it.
Do not abort on failure to resolve an external symbol when using dlsym stubs,
  since the symbol may not be in the JIT's address space.  Just use 0.
Allow dlsym stubs to differentiate between GlobalVars and Functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66050 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix BuildVectorSDNode::isConstantSplat to handle one-element vectors.
Bob Wilson [Wed, 4 Mar 2009 17:47:01 +0000 (17:47 +0000)]
Fix BuildVectorSDNode::isConstantSplat to handle one-element vectors.
It is an error to call APInt::zext with a size that is equal to the value's
current size, so use zextOrTrunc instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66039 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago.emacs file bits for automatically setting the llvm.org coding style. Thanks Anton.
Mike Stump [Wed, 4 Mar 2009 14:14:37 +0000 (14:14 +0000)]
.emacs file bits for automatically setting the llvm.org coding style.  Thanks Anton.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66032 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a restore folder, which shaves a dozen or so machineinstrs off oggenc. Update...
Owen Anderson [Wed, 4 Mar 2009 08:52:31 +0000 (08:52 +0000)]
Add a restore folder, which shaves a dozen or so machineinstrs off oggenc.  Update a testcase to check this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66029 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago"Ghostify" embedded sentinels. This is a real win in all cases
Gabor Greif [Wed, 4 Mar 2009 06:57:48 +0000 (06:57 +0000)]
"Ghostify" embedded sentinels. This is a real win in all cases
because less bytes are allocated and subobject construction is gone.
For reference how it works, see BasicBlock.h.
Btw. it is very assuring to see that somebody has invented
this ilist-embedded sentinel technique before me :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66026 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix PR3666: isel calls to constant addresses.
Evan Cheng [Wed, 4 Mar 2009 06:48:53 +0000 (06:48 +0000)]
Fix PR3666: isel calls to constant addresses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66024 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPR3686: make the legalizer handle bitcast from i80 to x86 long double.
Eli Friedman [Wed, 4 Mar 2009 06:23:34 +0000 (06:23 +0000)]
PR3686: make the legalizer handle bitcast from i80 to x86 long double.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66021 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert r66004 for now; it's causing a variety of test failures.
Dan Gohman [Wed, 4 Mar 2009 03:54:19 +0000 (03:54 +0000)]
Revert r66004 for now; it's causing a variety of test failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66008 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename test.
Evan Cheng [Wed, 4 Mar 2009 02:47:25 +0000 (02:47 +0000)]
Rename test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66006 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTeach the x86 backend to eliminate "test" instructions by using the EFLAGS
Dan Gohman [Wed, 4 Mar 2009 02:33:24 +0000 (02:33 +0000)]
Teach the x86 backend to eliminate "test" instructions by using the EFLAGS
result from add, sub, inc, and dec instructions in simple cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66004 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert unintended commmit.
Dale Johannesen [Wed, 4 Mar 2009 02:09:48 +0000 (02:09 +0000)]
Revert unintended commmit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66001 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSkip ptr-to-ptr bitcasts when counting in another case.
Dale Johannesen [Wed, 4 Mar 2009 02:06:53 +0000 (02:06 +0000)]
Skip ptr-to-ptr bitcasts when counting in another case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66000 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAlways skip ptr-to-ptr bitcasts when counting,
Dale Johannesen [Wed, 4 Mar 2009 01:53:05 +0000 (01:53 +0000)]
Always skip ptr-to-ptr bitcasts when counting,
per Chris' suggestion.  Slightly faster.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65999 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix PR3701. 1. X86 target renamed eflags register to flags. This matches what llvm...
Evan Cheng [Wed, 4 Mar 2009 01:41:49 +0000 (01:41 +0000)]
Fix PR3701. 1. X86 target renamed eflags register to flags. This matches what llvm-gcc generates so codegen knows flags register is being clobbered by inline asm. 2. BURR scheduler should also check if inline asm nodes can clobber "live" physical registers. Previously it was only checking target nodes with implicit defs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65996 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIf a global constant is dead then global's debug info should not prevent the optimize...
Devang Patel [Wed, 4 Mar 2009 01:22:23 +0000 (01:22 +0000)]
If a global constant is dead then global's debug info should not prevent the optimizer in deleting the global. And while deleting global, delete global's debug info also.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65994 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake my earlier patch to skip debug intrinsics
Dale Johannesen [Wed, 4 Mar 2009 01:20:34 +0000 (01:20 +0000)]
Make my earlier patch to skip debug intrinsics
when counting work; it was only off by 1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65993 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTemporarily revert 65975, which breaks the llvm-gcc build.
Dale Johannesen [Wed, 4 Mar 2009 01:14:28 +0000 (01:14 +0000)]
Temporarily revert 65975, which breaks the llvm-gcc build.
While the patch is clearly correct in itself, it's become
apparent other places are assuming debug intrinsics are
marked as touching memory...this needs more testing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65992 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoThe DAG combiner was performing a BT combine. The BT combine had a value of -1,
Bill Wendling [Wed, 4 Mar 2009 00:18:06 +0000 (00:18 +0000)]
The DAG combiner was performing a BT combine. The BT combine had a value of -1,
so it changed it into a 31 via the TLO.ShrinkDemandedConstant() call. Then it
would go through the DAG combiner again. This time it had a value of 31, which
was turned into a -1 by TLI.SimplifyDemandedBits(). This would ping pong
forever.

Teach the TLO.ShrinkDemandedConstant() call not to lower a value if the demanded
value is an XOR of all ones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65985 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMarking debug info intrinsics as not touching memory
Dale Johannesen [Tue, 3 Mar 2009 23:30:00 +0000 (23:30 +0000)]
Marking debug info intrinsics as not touching memory
caused them to be considered trivially dead.  Fix this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65979 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoInstruction counters must skip the bitcasts that
Dale Johannesen [Tue, 3 Mar 2009 22:36:47 +0000 (22:36 +0000)]
Instruction counters must skip the bitcasts that
feed into llvm.dbg.declare nodes, as well as
the debug directives themselves.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65976 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDbg Intrinsics do not access memory.
Devang Patel [Tue, 3 Mar 2009 22:33:54 +0000 (22:33 +0000)]
Dbg Intrinsics do not access memory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65975 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRecursively remove dead argument while removing llvm.dbg.declare intrinsic.
Devang Patel [Tue, 3 Mar 2009 21:31:02 +0000 (21:31 +0000)]
Recursively remove dead argument while removing llvm.dbg.declare intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65971 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen removing a store to an alloca that has only one
Dale Johannesen [Tue, 3 Mar 2009 21:26:39 +0000 (21:26 +0000)]
When removing a store to an alloca that has only one
use, check also for the case where it has two uses,
the other being a llvm.dbg.declare.  This is needed so
debug info doesn't affect codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65970 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodon't #include a header into the middle of an anon namespace.
Chris Lattner [Tue, 3 Mar 2009 20:10:23 +0000 (20:10 +0000)]
don't #include a header into the middle of an anon namespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65967 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd '(implicit EFLAGS)' for AND, OR, XOR, NEG, INC, and DEC
Dan Gohman [Tue, 3 Mar 2009 19:53:46 +0000 (19:53 +0000)]
Add '(implicit EFLAGS)' for AND, OR, XOR, NEG, INC, and DEC
instructions. These aren't used yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65965 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse early exit to reduce indentation. No functional change.
Bob Wilson [Tue, 3 Mar 2009 19:26:27 +0000 (19:26 +0000)]
Use early exit to reduce indentation.  No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65962 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove accidental check-ins in r65960. :-(
Bill Wendling [Tue, 3 Mar 2009 19:25:16 +0000 (19:25 +0000)]
Remove accidental check-ins in r65960. :-(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65961 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse > instead of >=. We want to promote aggregates of 128-bytes.
Bill Wendling [Tue, 3 Mar 2009 19:18:49 +0000 (19:18 +0000)]
Use > instead of >=. We want to promote aggregates of 128-bytes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65960 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake a comment less terse.
Dan Gohman [Tue, 3 Mar 2009 17:44:54 +0000 (17:44 +0000)]
Make a comment less terse.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65953 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoReapply r65755, but reversing "<" to ">=".
Bill Wendling [Tue, 3 Mar 2009 12:12:58 +0000 (12:12 +0000)]
Reapply r65755, but reversing "<" to ">=".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65945 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd example/Skeleton.
Mikhail Glushenkov [Tue, 3 Mar 2009 11:02:48 +0000 (11:02 +0000)]
Add example/Skeleton.

This is a template that can be used to build your own LLVMC-based drivers.
It can be also useful as a "bare-bones" LLVMC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65944 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoComment fixes.
Mikhail Glushenkov [Tue, 3 Mar 2009 10:04:57 +0000 (10:04 +0000)]
Comment fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65943 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoOops.
Mikhail Glushenkov [Tue, 3 Mar 2009 10:04:23 +0000 (10:04 +0000)]
Oops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65942 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse LLVMLIBS instead of USEDLIBS.
Mikhail Glushenkov [Tue, 3 Mar 2009 10:03:53 +0000 (10:03 +0000)]
Use LLVMLIBS instead of USEDLIBS.

Since this Makefile is supposed to be usable from LLVM-based projects not in the
tree, LLVMLIBS should be used instead of USEDLIBS. This depends on my previous
fix to Makefile.rules.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65941 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLINK_COMPONENTS should be added to LLVMLibsOptions.
Mikhail Glushenkov [Tue, 3 Mar 2009 10:03:27 +0000 (10:03 +0000)]
LINK_COMPONENTS should be added to LLVMLibsOptions.

From the code: "There are "Proj" libs (defined by the user's project) and "LLVM"
libs (defined by the LLVM project)." LINK_COMPONENTS are clearly defined by the
LLVM project.

Additionally, this fixes an issue with llvmc's build process:-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65940 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMove example plugins to the example/ directory.
Mikhail Glushenkov [Tue, 3 Mar 2009 10:02:53 +0000 (10:02 +0000)]
Move example plugins to the example/ directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65939 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoENABLE_PIC is either 0 or 1, but is always defined.
Nick Lewycky [Tue, 3 Mar 2009 07:45:09 +0000 (07:45 +0000)]
ENABLE_PIC is either 0 or 1, but is always defined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65938 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago80-column violation + trailing whitespace.
Mikhail Glushenkov [Tue, 3 Mar 2009 07:22:23 +0000 (07:22 +0000)]
80-column violation + trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65936 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIgnore the debug info intrinsics when adding instructions into alias sets.
Zhou Sheng [Tue, 3 Mar 2009 06:02:04 +0000 (06:02 +0000)]
Ignore the debug info intrinsics when adding instructions into alias sets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65934 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoThis bug's been fixed but a version with the fix hasn't been released yet.
Nick Lewycky [Tue, 3 Mar 2009 05:41:16 +0000 (05:41 +0000)]
This bug's been fixed but a version with the fix hasn't been released yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65931 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRegenerate.
Nick Lewycky [Tue, 3 Mar 2009 04:55:29 +0000 (04:55 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65928 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSwitch to using -Wl,-R on Solaris.
Nick Lewycky [Tue, 3 Mar 2009 04:55:15 +0000 (04:55 +0000)]
Switch to using -Wl,-R on Solaris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65927 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix build on Cygwin.
Nick Lewycky [Tue, 3 Mar 2009 03:36:50 +0000 (03:36 +0000)]
Fix build on Cygwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65922 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a bunch of Doxygen syntax issues. Escape special characters,
Dan Gohman [Tue, 3 Mar 2009 02:55:14 +0000 (02:55 +0000)]
Fix a bunch of Doxygen syntax issues. Escape special characters,
and put @file directives on their own comment line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65920 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't count DebugInfo instructions in another limit
Dale Johannesen [Tue, 3 Mar 2009 01:43:03 +0000 (01:43 +0000)]
Don't count DebugInfo instructions in another limit
(lest they affect codegen).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65915 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTestcase for line number sinking in InstCombine.
Dale Johannesen [Tue, 3 Mar 2009 01:10:01 +0000 (01:10 +0000)]
Testcase for line number sinking in InstCombine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65911 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen sinking an insn in InstCombine bring its debug
Dale Johannesen [Tue, 3 Mar 2009 01:09:07 +0000 (01:09 +0000)]
When sinking an insn in InstCombine bring its debug
info with it.
Don't count debug info insns against the scan maximum
in FindAvailableLoadedValue (lest they affect codegen).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65910 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIgnore debug info intrinsics.
Devang Patel [Tue, 3 Mar 2009 00:28:44 +0000 (00:28 +0000)]
Ignore debug info intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65908 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIf branch conditions' one successor is dominating another non-latch successor then...
Devang Patel [Mon, 2 Mar 2009 23:39:14 +0000 (23:39 +0000)]
If branch conditions' one successor is dominating another non-latch successor then this loop's iteration space can not be restricted. In this example block bb5 is always executed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65902 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGeneralize BuildVectorSDNode::isConstantSplat to use APInts and handle
Bob Wilson [Mon, 2 Mar 2009 23:24:16 +0000 (23:24 +0000)]
Generalize BuildVectorSDNode::isConstantSplat to use APInts and handle
arbitrary vector sizes.  Add an optional MinSplatBits parameter to specify
a minimum for the splat element size.  Update the PPC target to use the
revised interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65899 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDocument the -gcc-tool-args bugpoint option.
Bill Wendling [Mon, 2 Mar 2009 23:15:59 +0000 (23:15 +0000)]
Document the -gcc-tool-args bugpoint option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65897 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a "-gcc-tool-args" option. This option acts like the "-tool-args" option,
Bill Wendling [Mon, 2 Mar 2009 23:13:18 +0000 (23:13 +0000)]
Add a "-gcc-tool-args" option. This option acts like the "-tool-args" option,
but passes the arguments to the "gcc" invocation instead of to the "llc"
invocation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65896 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the calculation for how big the allocated stub needs to be.
Nate Begeman [Mon, 2 Mar 2009 23:10:14 +0000 (23:10 +0000)]
Fix the calculation for how big the allocated stub needs to be.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65895 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove all dbg symobls, including those with circular references.
Devang Patel [Mon, 2 Mar 2009 22:50:58 +0000 (22:50 +0000)]
Remove all dbg symobls, including those with circular references.

This is ugly, but I can't figure out a quick way out of this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65889 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix main executable path name resolution on FreeBSD, patch by
Chris Lattner [Mon, 2 Mar 2009 22:17:15 +0000 (22:17 +0000)]
Fix main executable path name resolution on FreeBSD, patch by
Ed Schouten!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65882 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some more clang related release notes.
Daniel Dunbar [Mon, 2 Mar 2009 20:08:12 +0000 (20:08 +0000)]
Add some more clang related release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65868 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodrop support for GCC 2.x as it is hopelessly broken anyway
Gabor Greif [Mon, 2 Mar 2009 19:49:29 +0000 (19:49 +0000)]
drop support for GCC 2.x as it is hopelessly broken anyway

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65864 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove incorrect information about fortran on Darwin.
Tanya Lattner [Mon, 2 Mar 2009 19:38:59 +0000 (19:38 +0000)]
Remove incorrect information about fortran on Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65859 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix broken GCC bugzilla link
Gabor Greif [Mon, 2 Mar 2009 19:11:53 +0000 (19:11 +0000)]
fix broken GCC bugzilla link

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65858 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd a Q/A on broken GCCs
Gabor Greif [Mon, 2 Mar 2009 19:08:05 +0000 (19:08 +0000)]
add a Q/A on broken GCCs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65857 91177308-0d34-0410-b5e6-96231b3b80d8