oota-llvm.git
14 years agoend sentence in period, draw attention to the fact that you should
Chris Lattner [Fri, 17 Jul 2009 21:14:28 +0000 (21:14 +0000)]
end sentence in period, draw attention to the fact that you should
only do this if you are a crazy russian hacker. ;-)

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

14 years agowe beat exceptions out of lib/system a long time ago.
Chris Lattner [Fri, 17 Jul 2009 21:11:24 +0000 (21:11 +0000)]
we beat exceptions out of lib/system a long time ago.

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

14 years agoSimplify some more.
Evan Cheng [Fri, 17 Jul 2009 21:06:58 +0000 (21:06 +0000)]
Simplify some more.

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

14 years agoCommit this change, to accompany r76232.
Dan Gohman [Fri, 17 Jul 2009 21:03:54 +0000 (21:03 +0000)]
Commit this change, to accompany r76232.

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

14 years agoUse more terse and precise linkage checks.
Chris Lattner [Fri, 17 Jul 2009 21:00:50 +0000 (21:00 +0000)]
Use more terse and precise linkage checks.

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

14 years agoEliminate yet another copy of getOpcode.
Dan Gohman [Fri, 17 Jul 2009 20:58:59 +0000 (20:58 +0000)]
Eliminate yet another copy of getOpcode.

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

14 years agoFix typo
Daniel Dunbar [Fri, 17 Jul 2009 20:56:18 +0000 (20:56 +0000)]
Fix typo

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

14 years agothese two pieces of code are the same because we always
Chris Lattner [Fri, 17 Jul 2009 20:53:51 +0000 (20:53 +0000)]
these two pieces of code are the same because we always
emit the EHFrame label next to the section_eh_frame and
eh_frame_common labels.

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

14 years agoFix a typo that Duncan spotted.
Dan Gohman [Fri, 17 Jul 2009 20:51:47 +0000 (20:51 +0000)]
Fix a typo that Duncan spotted.

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

14 years agoAdd a new Operator class, for handling Instructions and ConstantExprs
Dan Gohman [Fri, 17 Jul 2009 20:47:02 +0000 (20:47 +0000)]
Add a new Operator class, for handling Instructions and ConstantExprs
in a convenient manner, factoring out some common code from
InstructionCombining and ValueTracking. Move the contents of
BinaryOperators.h into Operator.h and use Operator to generalize them
to support ConstantExprs as well as Instructions.

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

14 years agoUntangle a snarl that I discovered when updating the mangler,
Chris Lattner [Fri, 17 Jul 2009 20:46:40 +0000 (20:46 +0000)]
Untangle a snarl that I discovered when updating the mangler,
starting in getCurrentFunctionEHName.  Among other problems,
we would try to privative a "foo.eh" label, but end up emitting
the label as _Lfoo.eh instead of L_foo.eh on darwin.  This is really
bad, and the linker has always tolerated these labels existing.
For now, just emit them as _foo.eh.

This patch also fixes problems with ".eh" labels on unnamed
functions and eliminates two strangely defined TargetAsmInfo
hooks.

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

14 years agoSketch support for target specific assembly parser.
Daniel Dunbar [Fri, 17 Jul 2009 20:42:00 +0000 (20:42 +0000)]
Sketch support for target specific assembly parser.
 - Not fully enabled yet, need a configure regeneration.

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

14 years agoTrailing whitespace.
Mikhail Glushenkov [Fri, 17 Jul 2009 20:38:17 +0000 (20:38 +0000)]
Trailing whitespace.

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

14 years agofix include guard.
Chris Lattner [Fri, 17 Jul 2009 20:32:07 +0000 (20:32 +0000)]
fix include guard.

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

14 years agoSimplify the coalescer (finally!) by making LiveIntervals::processImplicitDefs a...
Evan Cheng [Fri, 17 Jul 2009 19:43:40 +0000 (19:43 +0000)]
Simplify the coalescer (finally!) by making LiveIntervals::processImplicitDefs a little more aggressive and teaching liveintervals to make use of isUndef marker on MachineOperands.

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

14 years agoGetElementPtr instructions default to having no overflow.
Dan Gohman [Fri, 17 Jul 2009 19:23:21 +0000 (19:23 +0000)]
GetElementPtr instructions default to having no overflow.

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

14 years agoImplement cmake LLVM_MULTITHREADED gcc atomic builtin checks.
Xerxes Ranby [Fri, 17 Jul 2009 19:22:41 +0000 (19:22 +0000)]
Implement cmake LLVM_MULTITHREADED gcc atomic builtin checks.

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

14 years agoFix a crash in SROA. The FunctionPass::doInitialization method was never
Bob Wilson [Fri, 17 Jul 2009 19:05:13 +0000 (19:05 +0000)]
Fix a crash in SROA.  The FunctionPass::doInitialization method was never
being called so that Context was never initialized.  I'm not sure if this
is the right fix but at least it keeps opt from crashing.

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

14 years agoDefine a no-pointer-overflow flag for GetElementPtr instructions.
Dan Gohman [Fri, 17 Jul 2009 19:01:15 +0000 (19:01 +0000)]
Define a no-pointer-overflow flag for GetElementPtr instructions.

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

14 years agoAdd new classes for working with optional optimization data
Dan Gohman [Fri, 17 Jul 2009 18:59:51 +0000 (18:59 +0000)]
Add new classes for working with optional optimization data
for binary operators Add, Sub, Mul, and UDiv.

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

14 years agoFix copy & paste errors
Anton Korobeynikov [Fri, 17 Jul 2009 18:57:16 +0000 (18:57 +0000)]
Fix copy & paste errors

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

14 years agoAdd a method to clear optional optimization information from a Value.
Dan Gohman [Fri, 17 Jul 2009 18:56:23 +0000 (18:56 +0000)]
Add a method to clear optional optimization information from a Value.

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

14 years agoAdd missed attributes to C bindings
Anton Korobeynikov [Fri, 17 Jul 2009 18:55:30 +0000 (18:55 +0000)]
Add missed attributes to C bindings

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

14 years agoStart generating AsmMatcher.inc for X86.
Daniel Dunbar [Fri, 17 Jul 2009 18:55:26 +0000 (18:55 +0000)]
Start generating AsmMatcher.inc for X86.

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

14 years agotblgen/AsmMatcher: Emit simple matcher for register names.
Daniel Dunbar [Fri, 17 Jul 2009 18:51:11 +0000 (18:51 +0000)]
tblgen/AsmMatcher: Emit simple matcher for register names.

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

14 years agor76102 added the MachineCodeEmitter::processDebugLoc call and called it from
Jeffrey Yasskin [Fri, 17 Jul 2009 18:49:39 +0000 (18:49 +0000)]
r76102 added the MachineCodeEmitter::processDebugLoc call and called it from
the X86 Emitter.  This patch extends that to the rest of the targets that can
write to a MachineCodeEmitter: ARM, Alpha, and PPC.

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

14 years agoFix compile warning.
Daniel Dunbar [Fri, 17 Jul 2009 18:33:52 +0000 (18:33 +0000)]
Fix compile warning.

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

14 years agoAdd missed return
Anton Korobeynikov [Fri, 17 Jul 2009 18:28:59 +0000 (18:28 +0000)]
Add missed return

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

14 years agoopt: Add -std-link-opts argument, matches llvm-ld's optimizations.
Daniel Dunbar [Fri, 17 Jul 2009 18:09:39 +0000 (18:09 +0000)]
opt: Add -std-link-opts argument, matches llvm-ld's optimizations.

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

14 years agoAdd support for naked functions
Anton Korobeynikov [Fri, 17 Jul 2009 18:07:26 +0000 (18:07 +0000)]
Add support for naked functions

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

14 years agorename test.
Chris Lattner [Fri, 17 Jul 2009 18:05:55 +0000 (18:05 +0000)]
rename test.

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

14 years agorevert one of the loops to use indicies over iterators because there are vector inser...
Bruno Cardoso Lopes [Fri, 17 Jul 2009 18:02:30 +0000 (18:02 +0000)]
revert one of the loops to use indicies over iterators because there are vector insertions inside the loop

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

14 years agoAdd a SubclassOptionalData field to Value. See the doxygen comment for
Dan Gohman [Fri, 17 Jul 2009 17:16:59 +0000 (17:16 +0000)]
Add a SubclassOptionalData field to Value. See the doxygen comment for
details.

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

14 years agoFix typo.
Daniel Dunbar [Fri, 17 Jul 2009 16:41:57 +0000 (16:41 +0000)]
Fix typo.

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

14 years agoInitialize another Context, in the hopes of unbreaking CBE.
Daniel Dunbar [Fri, 17 Jul 2009 16:20:23 +0000 (16:20 +0000)]
Initialize another Context, in the hopes of unbreaking CBE.

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

14 years agoFix an apparent typo.
Dan Gohman [Fri, 17 Jul 2009 16:12:36 +0000 (16:12 +0000)]
Fix an apparent typo.

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

14 years agoMake DOUT an lvalue in release mode so that developers may use DOUT in
David Greene [Fri, 17 Jul 2009 15:55:53 +0000 (15:55 +0000)]
Make DOUT an lvalue in release mode so that developers may use DOUT in
their code in release mode.  This helps to debug release-mode problems.

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

14 years agoProvide slightly more refined error message when trying to lookup a target, and
Daniel Dunbar [Fri, 17 Jul 2009 15:50:49 +0000 (15:50 +0000)]
Provide slightly more refined error message when trying to lookup a target, and
none are registered.

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

14 years agoAdd logic to align instruction operands to columns for pretty-printing.
David Greene [Fri, 17 Jul 2009 14:24:46 +0000 (14:24 +0000)]
Add logic to align instruction operands to columns for pretty-printing.
No target uses this currently.  This patch only adds the mechanism so
that local installations can choose to enable this.

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

14 years agoAvoid a compiler warning when assertions are turned off.
Duncan Sands [Fri, 17 Jul 2009 12:25:14 +0000 (12:25 +0000)]
Avoid a compiler warning when assertions are turned off.

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

14 years agoTestcase for PR4214.
Duncan Sands [Fri, 17 Jul 2009 11:44:20 +0000 (11:44 +0000)]
Testcase for PR4214.

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

14 years agoDocumentation clarifications for isSafeToSpeculativelyExecute.
Eli Friedman [Fri, 17 Jul 2009 08:38:29 +0000 (08:38 +0000)]
Documentation clarifications for isSafeToSpeculativelyExecute.

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

14 years agoOops, accidentally set a legal operation to expand.
Eli Friedman [Fri, 17 Jul 2009 07:34:23 +0000 (07:34 +0000)]
Oops, accidentally set a legal operation to expand.

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

14 years agoExpand misc operations from test/CodeGen/Generic.
Eli Friedman [Fri, 17 Jul 2009 07:28:06 +0000 (07:28 +0000)]
Expand misc operations from test/CodeGen/Generic.

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

14 years agoHandle void in XCoreTargetLowering::isLegalAddressingMode. Triggers in
Eli Friedman [Fri, 17 Jul 2009 07:16:38 +0000 (07:16 +0000)]
Handle void in XCoreTargetLowering::isLegalAddressingMode.  Triggers in
test/CodeGen/Generic.

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

14 years agoRemove some unnecessary expansion markings. Add a few expansion
Eli Friedman [Fri, 17 Jul 2009 07:03:00 +0000 (07:03 +0000)]
Remove some unnecessary expansion markings.  Add a few expansion
markings that show up in test/CodeGen/Generic.

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

14 years agoAdd operation expansion/promotion for a bunch of operations, many of
Eli Friedman [Fri, 17 Jul 2009 06:36:24 +0000 (06:36 +0000)]
Add operation expansion/promotion for a bunch of operations, many of
which show up in test/CodeGen/Generic.

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

14 years agoAdd broken gcc from PR4532.
Nick Lewycky [Fri, 17 Jul 2009 06:32:10 +0000 (06:32 +0000)]
Add broken gcc from PR4532.

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

14 years agoFix tSUBspi operand definition. It reads and writes sp, which is a high register.
Evan Cheng [Fri, 17 Jul 2009 05:43:12 +0000 (05:43 +0000)]
Fix tSUBspi operand definition. It reads and writes sp, which is a high register.

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

14 years agoSet an operation expansion, noticed while running
Eli Friedman [Fri, 17 Jul 2009 05:23:03 +0000 (05:23 +0000)]
Set an operation expansion, noticed while running
llc over test/CodeGen/Generic with -march=alpha.

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

14 years agoMake promotion in operation legalization for SETCC work correctly.
Eli Friedman [Fri, 17 Jul 2009 05:16:04 +0000 (05:16 +0000)]
Make promotion in operation legalization for SETCC work correctly.

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

14 years agoReplace isTrapping with a new, similar method called
Eli Friedman [Fri, 17 Jul 2009 04:28:42 +0000 (04:28 +0000)]
Replace isTrapping with a new, similar method called
isSafeToSpeculativelyExecute. The new method is a bit closer to what
the callers actually care about in that it rejects more things callers
don't want.  It also adds more precise handling for integer
division, and unifies code for analyzing the legality of a speculative
load.

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

14 years agoOne more operation expansion for MIPS, from test/CodeGen/Generic.
Eli Friedman [Fri, 17 Jul 2009 04:07:24 +0000 (04:07 +0000)]
One more operation expansion for MIPS, from test/CodeGen/Generic.

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

14 years agoMake sure CWriter's Context get's initialized.
Daniel Dunbar [Fri, 17 Jul 2009 03:43:21 +0000 (03:43 +0000)]
Make sure CWriter's Context get's initialized.

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

14 years agoExpand a bunch of illegal operations on MIPS (found by
Eli Friedman [Fri, 17 Jul 2009 02:28:12 +0000 (02:28 +0000)]
Expand a bunch of illegal operations on MIPS (found by
inspection and running over CodeGen/Generic).

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

14 years agoFix 'may be used uninitialized' warning.
Daniel Dunbar [Fri, 17 Jul 2009 02:19:26 +0000 (02:19 +0000)]
Fix 'may be used uninitialized' warning.
 - Anton, please review.

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

14 years agoAdd the private keyword to the polygen grammar.
Dan Gohman [Fri, 17 Jul 2009 01:07:45 +0000 (01:07 +0000)]
Add the private keyword to the polygen grammar.

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

14 years agoAdd the private keyword to the VIM syntax highlighting.
Dan Gohman [Fri, 17 Jul 2009 01:06:53 +0000 (01:06 +0000)]
Add the private keyword to the VIM syntax highlighting.

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

14 years agoFix my brain cramp by inverting the assertion condition.
Evan Cheng [Fri, 17 Jul 2009 00:32:06 +0000 (00:32 +0000)]
Fix my brain cramp by inverting the assertion condition.

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

14 years agoFix "no newline at end of file" warning from gcc.
Jeffrey Yasskin [Thu, 16 Jul 2009 23:58:14 +0000 (23:58 +0000)]
Fix "no newline at end of file" warning from gcc.

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

14 years agoPrivatize the MDNode uniquing table.
Owen Anderson [Thu, 16 Jul 2009 23:44:30 +0000 (23:44 +0000)]
Privatize the MDNode uniquing table.

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

14 years agoEmit cross regclass register moves for thumb2.
Anton Korobeynikov [Thu, 16 Jul 2009 23:26:06 +0000 (23:26 +0000)]
Emit cross regclass register moves for thumb2.
Minor code duplication cleanup.

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

14 years agoDisable this assert for now, it is firing on an llvm-gcc bootstrap. :(
Daniel Dunbar [Thu, 16 Jul 2009 23:02:46 +0000 (23:02 +0000)]
Disable this assert for now, it is firing on an llvm-gcc bootstrap. :(

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

14 years agoAdd new flags '-test-cflags' and '-test-cxxflags' to pass in flags directly to the...
Bill Wendling [Thu, 16 Jul 2009 22:59:17 +0000 (22:59 +0000)]
Add new flags '-test-cflags' and '-test-cxxflags' to pass in flags directly to the llvm testsuite.

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

14 years agoGV with ghost linkage (module being lazily streamed in in JIT lazy compilation mode...
Evan Cheng [Thu, 16 Jul 2009 22:53:10 +0000 (22:53 +0000)]
GV with ghost linkage (module being lazily streamed in in JIT lazy compilation mode) do not require extra load from stub. This fixes ExecutionEngine/2005-12-02-TailCallBug.ll.

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

14 years agoAssume an inline asm might be a call, so we get
Dale Johannesen [Thu, 16 Jul 2009 22:34:45 +0000 (22:34 +0000)]
Assume an inline asm might be a call, so we get
stack alignment right when it is.  This is not
ideal but conservatively correct.  Adjust a test
to compensate for changed stack offset value.
gcc.apple/asm-block-57.c

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

14 years agoEmit line numbers in asm comments when available.
David Greene [Thu, 16 Jul 2009 22:24:20 +0000 (22:24 +0000)]
Emit line numbers in asm comments when available.

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

14 years agoPrivatize the MDString uniquing table.
Owen Anderson [Thu, 16 Jul 2009 22:11:26 +0000 (22:11 +0000)]
Privatize the MDString uniquing table.

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

14 years agoFix inverted preprocessor conditional.
Daniel Dunbar [Thu, 16 Jul 2009 22:08:25 +0000 (22:08 +0000)]
Fix inverted preprocessor conditional.

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

14 years agoFix compiler warning (for -Asserts).
Daniel Dunbar [Thu, 16 Jul 2009 22:06:22 +0000 (22:06 +0000)]
Fix compiler warning (for -Asserts).

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

14 years agoSilence warning in Linux builds:
Jakob Stoklund Olesen [Thu, 16 Jul 2009 21:24:13 +0000 (21:24 +0000)]
Silence warning in Linux builds:

X86InstrInfo.cpp:2272: warning: suggest explicit braces to avoid ambiguous 'else'

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

14 years agoAdd raw_null_ostream and llvm::nulls(), a raw_ostream that discards output.
Daniel Dunbar [Thu, 16 Jul 2009 21:17:53 +0000 (21:17 +0000)]
Add raw_null_ostream and llvm::nulls(), a raw_ostream that discards output.
 - No functionality change.

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

14 years agoAdd line numbers to OProfile. To do this, I added a processDebugLoc()
Jeffrey Yasskin [Thu, 16 Jul 2009 21:07:26 +0000 (21:07 +0000)]
Add line numbers to OProfile. To do this, I added a processDebugLoc()
call to the MachineCodeEmitter interface and made copying the start
line of a function not conditional on whether we're emitting Dwarf
debug information. I'll propagate the processDebugLoc() calls to the
non-X86 targets in a followup patch.

In the long run, it'll probably be better to gather this information
through the DwarfWriter, but the DwarfWriter currently depends on the
AsmPrinter and TargetAsmInfo, and fixing that would be out of the way
for this patch.

There's a bug in OProfile 0.9.4 that makes it ignore line numbers for
addresses above 4G, and a patch fixing it at
http://thread.gmane.org/gmane.linux.oprofile/7634

Sample output:

$ sudo opcontrol --reset; sudo opcontrol --start-daemon; sudo opcontrol --start; `pwd`/Debug/bin/lli fib.bc; sudo opcontrol --stop
Signalling daemon... done
Profiler running.
fib(40) == 165580141
Stopping profiling.

$ opreport -g -d -l `pwd`/Debug/bin/lli|head -60
Overflow stats not available
CPU: Core 2, speed 1998 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000
vma      samples  %        linenr info                 image name               symbol name
00007f67a30370b0 25489    61.2554  fib.c:24                    10946.jo                 fib_left
  00007f67a30370b0 1634      6.4106  fib.c:24
  00007f67a30370b1 83        0.3256  fib.c:24
  00007f67a30370b9 1997      7.8348  fib.c:24
  00007f67a30370c6 2080      8.1604  fib.c:27
  00007f67a30370c8 988       3.8762  fib.c:27
  00007f67a30370cd 1315      5.1591  fib.c:27
  00007f67a30370cf 251       0.9847  fib.c:27
  00007f67a30370d3 1191      4.6726  fib.c:27
  00007f67a30370d6 975       3.8252  fib.c:27
  00007f67a30370db 1010      3.9625  fib.c:27
  00007f67a30370dd 242       0.9494  fib.c:27
  00007f67a30370e1 2782     10.9145  fib.c:28
  00007f67a30370e5 3768     14.7828  fib.c:28
  00007f67a30370eb 615       2.4128  (no location information)
  00007f67a30370f3 6558     25.7287  (no location information)
00007f67a3037100 15603    37.4973  fib.c:29                    10946.jo                 fib_right
  00007f67a3037100 1646     10.5493  fib.c:29
  00007f67a3037101 45        0.2884  fib.c:29
  00007f67a3037109 2372     15.2022  fib.c:29
  00007f67a3037116 2234     14.3178  fib.c:32
  00007f67a3037118 612       3.9223  fib.c:32
  00007f67a303711d 622       3.9864  fib.c:32
  00007f67a303711f 385       2.4675  fib.c:32
  00007f67a3037123 404       2.5892  fib.c:32
  00007f67a3037126 634       4.0633  fib.c:32
  00007f67a303712b 870       5.5759  fib.c:32
  00007f67a303712d 62        0.3974  fib.c:32
  00007f67a3037131 1848     11.8439  fib.c:33
  00007f67a3037135 2840     18.2016  fib.c:33
  00007f67a303713a 1         0.0064  fib.c:33
  00007f67a303713b 1023      6.5564  (no location information)
  00007f67a3037143 5         0.0320  (no location information)
000000000080c1e4 15        0.0360  MachineOperand.h:150        lli                      llvm::MachineOperand::isReg() const
  000000000080c1e4 6        40.0000  MachineOperand.h:150
  000000000080c1ec 2        13.3333  MachineOperand.h:150
...

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

14 years agoTeach MachineInstr::isRegTiedToDefOperand() to correctly parse inline asm operands.
Jakob Stoklund Olesen [Thu, 16 Jul 2009 20:58:34 +0000 (20:58 +0000)]
Teach MachineInstr::isRegTiedToDefOperand() to correctly parse inline asm operands.

The inline asm operands must be parsed from the first flag, you cannot assume
that an immediate operand preceeding a register use operand is the flag.
PowerPC "m" operands are represented as (flag, imm, reg) triples.
isRegTiedToDefOperand() would incorrectly interpret the imm as the flag.

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

14 years agoChanged my mind. We now allow remat of instructions whose defs have subreg indices.
Evan Cheng [Thu, 16 Jul 2009 20:15:00 +0000 (20:15 +0000)]
Changed my mind. We now allow remat of instructions whose defs have subreg indices.

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

14 years agoPrivatize the ConstantFP table. I'm on a roll!
Owen Anderson [Thu, 16 Jul 2009 19:05:41 +0000 (19:05 +0000)]
Privatize the ConstantFP table.  I'm on a roll!

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

14 years agothis should be xfailed on darwin. Darwin doesn't use the libstdc++ in the llvm-gcc...
Chris Lattner [Thu, 16 Jul 2009 18:45:51 +0000 (18:45 +0000)]
this should be xfailed on darwin.  Darwin doesn't use the libstdc++ in the llvm-gcc distro, it uses the system version.

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

14 years agoWith recent MC changes, RIP base register is explicitly modeled. Make sure we add...
Evan Cheng [Thu, 16 Jul 2009 18:44:05 +0000 (18:44 +0000)]
With recent MC changes, RIP base register is explicitly modeled. Make sure we add it when x86 V_SET0 / V_SETALLONES (by transforming it into a constpool load) into the use instruction.

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

14 years agoUpdate CMake file.
Ted Kremenek [Thu, 16 Jul 2009 18:29:22 +0000 (18:29 +0000)]
Update CMake file.

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

14 years agoMove the ConstantInt uniquing table into LLVMContextImpl. This exposed a number...
Owen Anderson [Thu, 16 Jul 2009 18:04:31 +0000 (18:04 +0000)]
Move the ConstantInt uniquing table into LLVMContextImpl.  This exposed a number of issues in
our current context-passing stuff, which is also fixed here

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

14 years agoRemoved the SubsectionsViaSymbols MCStreamer API and replaced it with a generic
Kevin Enderby [Thu, 16 Jul 2009 17:56:39 +0000 (17:56 +0000)]
Removed the SubsectionsViaSymbols MCStreamer API and replaced it with a generic
EmitAssemblerFlag API which takes a value from the added AssemblerFlag
enumerated constants.

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

14 years agoTweak svn:ignore
Daniel Dunbar [Thu, 16 Jul 2009 17:38:37 +0000 (17:38 +0000)]
Tweak svn:ignore

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

14 years agoFill in some holes in ScalarEvolution's loop iteration condition
Dan Gohman [Thu, 16 Jul 2009 17:34:36 +0000 (17:34 +0000)]
Fill in some holes in ScalarEvolution's loop iteration condition
analysis. This allows indvars to emit a simpler loop trip count
expression.

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

14 years agoClean up the definition of Str in AsmParser::ParseDirectiveDarwinDumpOrLoad
Kevin Enderby [Thu, 16 Jul 2009 17:17:46 +0000 (17:17 +0000)]
Clean up the definition of Str in AsmParser::ParseDirectiveDarwinDumpOrLoad
so it is defined with a lifetime that is as short as possible.

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

14 years agoAdd SmallString unit test.
Daniel Dunbar [Thu, 16 Jul 2009 17:00:06 +0000 (17:00 +0000)]
Add SmallString unit test.
 - Patch by Ryan Flynn!

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

14 years agoIn an Apple-style build, compile with llvm-gcc/llvm-g++ if available.
Stuart Hastings [Thu, 16 Jul 2009 16:49:11 +0000 (16:49 +0000)]
In an Apple-style build, compile with llvm-gcc/llvm-g++ if available.

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

14 years agoAdd an isLoopSimplifyForm() predicate, following the example of
Dan Gohman [Thu, 16 Jul 2009 16:16:23 +0000 (16:16 +0000)]
Add an isLoopSimplifyForm() predicate, following the example of
isLCSSAForm(), to test whether a loop is in the form guaranteed
by the LoopSimplify pass.

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

14 years agoUse setStream infomatted_raw_ostream's constructor, to reduce code
Dan Gohman [Thu, 16 Jul 2009 15:37:26 +0000 (15:37 +0000)]
Use setStream infomatted_raw_ostream's constructor, to reduce code
duplication. Also, make setStream honor the old DeleteStream flag.

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

14 years agoRemove inapplicable comments.
Dan Gohman [Thu, 16 Jul 2009 15:33:48 +0000 (15:33 +0000)]
Remove inapplicable comments.

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

14 years agoAdd explicit keywords.
Dan Gohman [Thu, 16 Jul 2009 15:33:04 +0000 (15:33 +0000)]
Add explicit keywords.

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

14 years agoTidy up #includes.
Dan Gohman [Thu, 16 Jul 2009 15:32:28 +0000 (15:32 +0000)]
Tidy up #includes.

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

14 years agoConvert more tools code from cerr and cout to errs() and outs().
Dan Gohman [Thu, 16 Jul 2009 15:30:09 +0000 (15:30 +0000)]
Convert more tools code from cerr and cout to errs() and outs().

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

14 years agoUse size_t.
Dan Gohman [Thu, 16 Jul 2009 15:24:40 +0000 (15:24 +0000)]
Use size_t.

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

14 years agoMake xfail proper
Anton Korobeynikov [Thu, 16 Jul 2009 14:53:47 +0000 (14:53 +0000)]
Make xfail proper

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

14 years agoUnbreak
Anton Korobeynikov [Thu, 16 Jul 2009 14:36:52 +0000 (14:36 +0000)]
Unbreak

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

14 years agoTemporary disable 16 bit bswap
Anton Korobeynikov [Thu, 16 Jul 2009 14:35:57 +0000 (14:35 +0000)]
Temporary disable 16 bit bswap

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

14 years agoAdd instruction formats and few opcodes
Anton Korobeynikov [Thu, 16 Jul 2009 14:35:20 +0000 (14:35 +0000)]
Add instruction formats and few opcodes

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

14 years agoAdd bswap patterns
Anton Korobeynikov [Thu, 16 Jul 2009 14:34:52 +0000 (14:34 +0000)]
Add bswap patterns

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

14 years agoProvide crazy pseudos for regpairs spills / reloads
Anton Korobeynikov [Thu, 16 Jul 2009 14:34:15 +0000 (14:34 +0000)]
Provide crazy pseudos for regpairs spills / reloads

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

14 years agoHandle long-disp stuff more consistently
Anton Korobeynikov [Thu, 16 Jul 2009 14:33:52 +0000 (14:33 +0000)]
Handle long-disp stuff more consistently

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