oota-llvm.git
14 years agoInclude IVUsers information in LSR's debug output.
Dan Gohman [Thu, 21 Jan 2010 22:46:32 +0000 (22:46 +0000)]
Include IVUsers information in LSR's debug output.

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

14 years agoPrune the search for candidate formulae if the number of register
Dan Gohman [Thu, 21 Jan 2010 22:42:49 +0000 (22:42 +0000)]
Prune the search for candidate formulae if the number of register
operands exceeds the number of registers used in the initial
solution, as that wouldn't lead to a profitable solution anyway.

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

14 years agoTrim unneeded includes.
Evan Cheng [Thu, 21 Jan 2010 21:44:43 +0000 (21:44 +0000)]
Trim unneeded includes.

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

14 years agoAdd a comment.
Dan Gohman [Thu, 21 Jan 2010 21:31:09 +0000 (21:31 +0000)]
Add a comment.

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

14 years agoIt turns out that this #include is needed because otherwise
Chris Lattner [Thu, 21 Jan 2010 21:29:25 +0000 (21:29 +0000)]
It turns out that this #include is needed because otherwise
ValueMapper.cpp ends up calling an out of line
__ZNK4llvm12PATypeHolder3getEv, which is a template and llvm-config
determines arbitrarily to use the one in libipo.  This sucks, but
keeping the #include is a reasonable workaround.

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

14 years agounbreak the build, apparently without this transformutils starts depending on libipa?
Chris Lattner [Thu, 21 Jan 2010 21:20:51 +0000 (21:20 +0000)]
unbreak the build, apparently without this transformutils starts depending on libipa?

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

14 years agotidy up
Chris Lattner [Thu, 21 Jan 2010 21:05:54 +0000 (21:05 +0000)]
tidy up

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

14 years agotidy up
Chris Lattner [Thu, 21 Jan 2010 21:01:47 +0000 (21:01 +0000)]
tidy up

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

14 years agoremove dead .erase.
Chris Lattner [Thu, 21 Jan 2010 20:43:39 +0000 (20:43 +0000)]
remove dead .erase.

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

14 years agoback this out for now. Growing Function is not good.
Jim Grosbach [Thu, 21 Jan 2010 20:10:22 +0000 (20:10 +0000)]
back this out for now. Growing Function is not good.

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

14 years agotestcase for r94095
Chris Lattner [Thu, 21 Jan 2010 20:01:04 +0000 (20:01 +0000)]
testcase for r94095

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

14 years agofix a problem with a missing _, testcase pending.
Chris Lattner [Thu, 21 Jan 2010 19:58:19 +0000 (19:58 +0000)]
fix a problem with a missing _, testcase pending.

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

14 years agoDon't need to include IntrinsicInst.h any more
Victor Hernandez [Thu, 21 Jan 2010 19:33:59 +0000 (19:33 +0000)]
Don't need to include IntrinsicInst.h any more

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

14 years agoNo need to map NULL operands of metadata
Victor Hernandez [Thu, 21 Jan 2010 19:26:20 +0000 (19:26 +0000)]
No need to map NULL operands of metadata

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

14 years agoAdd a simple script for getting a version tag from a svn/git-svn/git
Daniel Dunbar [Thu, 21 Jan 2010 16:09:59 +0000 (16:09 +0000)]
Add a simple script for getting a version tag from a svn/git-svn/git
repository. Feel free to add support for your favorite VCS.

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

14 years agostruct/class mismatch.
Benjamin Kramer [Thu, 21 Jan 2010 15:40:14 +0000 (15:40 +0000)]
struct/class mismatch.

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

14 years agoMake the parser include the lower level error message in its own error
Dan Gohman [Thu, 21 Jan 2010 10:15:06 +0000 (10:15 +0000)]
Make the parser include the lower level error message in its own error
message, to be more informative.

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

14 years agoAvoid printing a spurious semicolon when there is no filename.
Dan Gohman [Thu, 21 Jan 2010 10:13:27 +0000 (10:13 +0000)]
Avoid printing a spurious semicolon when there is no filename.

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

14 years agoWhen re-using an existing cast for a user, it's still necessary to call
Dan Gohman [Thu, 21 Jan 2010 10:08:42 +0000 (10:08 +0000)]
When re-using an existing cast for a user, it's still necessary to call
rememberInstruction so that future users of that user will be inserted
in the correct position. This fixes the Darwin selfhost.

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

14 years agoFix a crasher trying to fold each element in a comparison between two vectors
Nick Lewycky [Thu, 21 Jan 2010 07:03:21 +0000 (07:03 +0000)]
Fix a crasher trying to fold each element in a comparison between two vectors
if one of the vectors didn't have elements (such as undef). Fixes PR 6096.

Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would
have <2 x i1> type if constant folding was successful and i1 type if it wasn't.
This exposed a related issue in the bitcode reader.

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

14 years agoremove a couple of asserts that use RTTI.
Chris Lattner [Thu, 21 Jan 2010 06:11:03 +0000 (06:11 +0000)]
remove a couple of asserts that use RTTI.

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

14 years agoRun the verifier after LSR, to help catch use-before-def errors before
Dan Gohman [Thu, 21 Jan 2010 03:51:36 +0000 (03:51 +0000)]
Run the verifier after LSR, to help catch use-before-def errors before
they reach codegen.

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

14 years agoRe-implement the main strength-reduction portion of LoopStrengthReduction.
Dan Gohman [Thu, 21 Jan 2010 02:09:26 +0000 (02:09 +0000)]
Re-implement the main strength-reduction portion of LoopStrengthReduction.
This new version is much more aggressive about doing "full" reduction in
cases where it reduces register pressure, and also more aggressive about
rewriting induction variables to count down (or up) to zero when doing so
reduces register pressure.

It currently uses fairly simplistic algorithms for finding reuse
opportunities, but it introduces a new framework allows it to combine
multiple strategies at once to form hybrid solutions, instead of doing
all full-reduction or all base+index.

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

14 years agoeliminate dynamic_cast from the pass manager.
Chris Lattner [Thu, 21 Jan 2010 02:07:07 +0000 (02:07 +0000)]
eliminate dynamic_cast from the pass manager.

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

14 years agoAdd strcpy_chk -> strcpy support for "don't know" object size
Eric Christopher [Thu, 21 Jan 2010 01:04:38 +0000 (01:04 +0000)]
Add strcpy_chk -> strcpy support for "don't know" object size
answers.  This will update as object size checking gets better information.

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

14 years agoFix a minor issue in x86 load / store folding table. movups does an unaligned load...
Evan Cheng [Thu, 21 Jan 2010 00:55:14 +0000 (00:55 +0000)]
Fix a minor issue in x86 load / store folding table. movups does an unaligned load so it doesn't require 16-byte alignment.

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

14 years agoMake sure that landing pad entries in the EH call site table are in the proper
Jim Grosbach [Thu, 21 Jan 2010 00:43:30 +0000 (00:43 +0000)]
Make sure that landing pad entries in the EH call site table are in the proper
order for SjLj style exception handling.

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

14 years agoMoved handling of inclusion from the AsmLexer to
Sean Callanan [Thu, 21 Jan 2010 00:19:58 +0000 (00:19 +0000)]
Moved handling of inclusion from the AsmLexer to
the AsmParser, breaking AsmLexer's dependence on
SourceMgr.

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

14 years agosimplify this code.
Chris Lattner [Wed, 20 Jan 2010 23:30:28 +0000 (23:30 +0000)]
simplify this code.

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

14 years agoChanged the AsmParser to handle error messages itself
Sean Callanan [Wed, 20 Jan 2010 23:19:55 +0000 (23:19 +0000)]
Changed the AsmParser to handle error messages itself
rather than passing them off to the AsmLexer to handle.
This means the AsmLexer no longer requires a SourceMgr
to do error handling.

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

14 years agoSjLj EH introduces can introduce an additional edge to a landing pad and pad
Jim Grosbach [Wed, 20 Jan 2010 23:03:55 +0000 (23:03 +0000)]
SjLj EH introduces can introduce an additional edge to a landing pad and pad
normalization needs to take this into account.

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

14 years agoPromoted the reference to the SourceMgr from AsmLexer
Sean Callanan [Wed, 20 Jan 2010 22:45:23 +0000 (22:45 +0000)]
Promoted the reference to the SourceMgr from AsmLexer
into AsmParser, in preparation for making AsmLexer
independent of the SourceMgr

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

14 years agoModified MCAsmLexer to return error information upward
Sean Callanan [Wed, 20 Jan 2010 22:18:24 +0000 (22:18 +0000)]
Modified MCAsmLexer to return error information upward
rather than printing it locally, reducing its dependence
on SourceMgr.

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

14 years agoeliminate FnStubInfo, using MachineModuleInfoMachO instead.
Chris Lattner [Wed, 20 Jan 2010 21:36:48 +0000 (21:36 +0000)]
eliminate FnStubInfo, using MachineModuleInfoMachO instead.
this makes function stub emission determinstic.

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

14 years agomake findDebugLoc a class method
Dale Johannesen [Wed, 20 Jan 2010 21:36:02 +0000 (21:36 +0000)]
make findDebugLoc a class method

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

14 years agosplit function stub printing out to its own function,
Chris Lattner [Wed, 20 Jan 2010 21:19:44 +0000 (21:19 +0000)]
split function stub printing out to its own function,
no functionality change.

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

14 years agoeliminate the GVStubs and HiddenGVStubs maps, and use
Chris Lattner [Wed, 20 Jan 2010 21:16:14 +0000 (21:16 +0000)]
eliminate the GVStubs and HiddenGVStubs maps, and use
MachineModuleInfoMachO instead.  This eliminates two sources
of nondeterministic output in the ppc backend, but function
stubs are still bad.

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

14 years agodon't forget to initialize an instance variable!
Chris Lattner [Wed, 20 Jan 2010 20:48:59 +0000 (20:48 +0000)]
don't forget to initialize an instance variable!

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

14 years agoWhen XDEBUG is enabled, check for SelectionDAG cycles at some key
David Greene [Wed, 20 Jan 2010 20:13:31 +0000 (20:13 +0000)]
When XDEBUG is enabled, check for SelectionDAG cycles at some key
points.  This will help us find future problems like the one
described in PR6019.

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

14 years agoadopt getAdjustedAnalysisPointer in a few more passes.
Chris Lattner [Wed, 20 Jan 2010 20:09:02 +0000 (20:09 +0000)]
adopt getAdjustedAnalysisPointer in a few more passes.

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

14 years agoadopt getAdjustedAnalysisPointer in two more passes.
Chris Lattner [Wed, 20 Jan 2010 19:53:32 +0000 (19:53 +0000)]
adopt getAdjustedAnalysisPointer in two more passes.

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

14 years agoadopt getAdjustedAnalysisPointer in BasicCallGraph.
Chris Lattner [Wed, 20 Jan 2010 19:51:46 +0000 (19:51 +0000)]
adopt getAdjustedAnalysisPointer in BasicCallGraph.

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

14 years agoadd some new methods to adjust this pointers. Not used yet.
Chris Lattner [Wed, 20 Jan 2010 19:26:14 +0000 (19:26 +0000)]
add some new methods to adjust this pointers.  Not used yet.

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

14 years agoadd a helper method.
Chris Lattner [Wed, 20 Jan 2010 19:25:45 +0000 (19:25 +0000)]
add a helper method.

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

14 years agodon't send null pointers through the constantexpr codepath unneededly.
Chris Lattner [Wed, 20 Jan 2010 17:57:50 +0000 (17:57 +0000)]
don't send null pointers through the constantexpr codepath unneededly.

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

14 years agoreduce redundant are's.
Chris Lattner [Wed, 20 Jan 2010 17:53:51 +0000 (17:53 +0000)]
reduce redundant are's.

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

14 years agoMove per-function inline threshold calculation to a method.
Jakob Stoklund Olesen [Wed, 20 Jan 2010 17:51:28 +0000 (17:51 +0000)]
Move per-function inline threshold calculation to a method.

No functional change except the forgotten test for
InlineLimit.getNumOccurrences() == 0 in the CurrentThreshold2 calculation.

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

14 years agouse getGlobalDirective(), don't hardcode .globl. PR6093
Chris Lattner [Wed, 20 Jan 2010 17:50:30 +0000 (17:50 +0000)]
use getGlobalDirective(), don't hardcode .globl.  PR6093

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

14 years agoFix an infinite recursion problem. dbgs() should return errs() in
David Greene [Wed, 20 Jan 2010 15:27:19 +0000 (15:27 +0000)]
Fix an infinite recursion problem.  dbgs() should return errs() in
release mode.

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

14 years agoeliminate some uses of AsmPrinter::EmitIntXXX
Chris Lattner [Wed, 20 Jan 2010 07:41:15 +0000 (07:41 +0000)]
eliminate some uses of AsmPrinter::EmitIntXXX

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

14 years agoBackout r93990
Victor Hernandez [Wed, 20 Jan 2010 07:37:49 +0000 (07:37 +0000)]
Backout r93990

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

14 years agoinline and radically simplify printDataDirective. It will eventually
Chris Lattner [Wed, 20 Jan 2010 07:33:29 +0000 (07:33 +0000)]
inline and radically simplify printDataDirective.  It will eventually
go completely away.

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

14 years agoemit basic block labels with mcstreamer.
Chris Lattner [Wed, 20 Jan 2010 07:24:05 +0000 (07:24 +0000)]
emit basic block labels with mcstreamer.

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

14 years agoemit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,
Chris Lattner [Wed, 20 Jan 2010 07:19:19 +0000 (07:19 +0000)]
emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,
for tidiness.

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

14 years agosignficant cleanups to EmitGlobalConstant (including streamerization
Chris Lattner [Wed, 20 Jan 2010 07:11:32 +0000 (07:11 +0000)]
signficant cleanups to EmitGlobalConstant (including streamerization
of int initializers), change some methods to be static functions,
use raw_ostream::write_hex instead of a smallstring dance with
APValue::toStringUnsigned(S, 16).

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

14 years agoFix/strengthen verification of llvm.dbg.declare
Victor Hernandez [Wed, 20 Jan 2010 06:57:02 +0000 (06:57 +0000)]
Fix/strengthen verification of llvm.dbg.declare

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

14 years agoSwitch Elts from vector to SmallVector
Victor Hernandez [Wed, 20 Jan 2010 06:56:16 +0000 (06:56 +0000)]
Switch Elts from vector to SmallVector

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

14 years agoswitch ConstantFP emission to use MCStreamer, significantly
Chris Lattner [Wed, 20 Jan 2010 06:53:37 +0000 (06:53 +0000)]
switch ConstantFP emission to use MCStreamer, significantly
simplifying the code.

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

14 years agomake mcasmstreamer handle expanding 8 byte integer constants to
Chris Lattner [Wed, 20 Jan 2010 06:45:39 +0000 (06:45 +0000)]
make mcasmstreamer handle expanding 8 byte integer constants to
4-byte constants if .quad isn't supported.  Switch a bunch of
methods used by the dwarf writer to use OutStreamer.EmitIntValue.

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

14 years agogive createAsmStreamer an 'isLittleEndian' argument.
Chris Lattner [Wed, 20 Jan 2010 06:39:07 +0000 (06:39 +0000)]
give createAsmStreamer an 'isLittleEndian' argument.

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

14 years agorevert 93934, removing the MCAsmInfo endianness bit. I can't
Chris Lattner [Wed, 20 Jan 2010 06:34:14 +0000 (06:34 +0000)]
revert 93934, removing the MCAsmInfo endianness bit.  I can't
stomache MCAsmInfo having this, and I found a better solution to
this layering issue.

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

14 years agoFix if/else brackets; getFunctionForValue() is to be called for non-metadata values
Victor Hernandez [Wed, 20 Jan 2010 06:22:33 +0000 (06:22 +0000)]
Fix if/else brackets; getFunctionForValue() is to be called for non-metadata values

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

14 years agoFix the conditions to unambiguously show the logic they represent. This is the
Chandler Carruth [Wed, 20 Jan 2010 06:01:02 +0000 (06:01 +0000)]
Fix the conditions to unambiguously show the logic they represent. This is the
logic enforced in the test case as well, so hopefully it is correct. Please
review Victor.

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

14 years agoMap operands of all function-local metadata, not just metadata passed to llvm.dbg...
Victor Hernandez [Wed, 20 Jan 2010 05:49:59 +0000 (05:49 +0000)]
Map operands of all function-local metadata, not just metadata passed to llvm.dbg.declare intrinsics

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

14 years agoAvoid unnecessary Elts array
Victor Hernandez [Wed, 20 Jan 2010 05:44:11 +0000 (05:44 +0000)]
Avoid unnecessary Elts array

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

14 years agoRefactor common parts of MDNode::getFunction() and assertLocalFunction() into getFunc...
Victor Hernandez [Wed, 20 Jan 2010 04:45:57 +0000 (04:45 +0000)]
Refactor common parts of MDNode::getFunction() and assertLocalFunction() into getFunctionForValue()

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

14 years agoIf a instruction belongs to another function (and not current function) as per debug...
Devang Patel [Wed, 20 Jan 2010 02:05:23 +0000 (02:05 +0000)]
If a instruction belongs to another function (and not current function) as per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable.

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

14 years agoAdd some asserts to check SelectionDAG problems earlier.
David Greene [Wed, 20 Jan 2010 00:59:23 +0000 (00:59 +0000)]
Add some asserts to check SelectionDAG problems earlier.

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

14 years agoFor 'install-clang' target, also traverse tools/clang/lib/Runtime.
Daniel Dunbar [Wed, 20 Jan 2010 00:43:07 +0000 (00:43 +0000)]
For 'install-clang' target, also traverse tools/clang/lib/Runtime.

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

14 years agoMove findDebugLoc somewhere more central. Fix
Dale Johannesen [Wed, 20 Jan 2010 00:19:24 +0000 (00:19 +0000)]
Move findDebugLoc somewhere more central.  Fix
more cases where debug declarations affect
debug line info.

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

14 years agoFold (add x, shl(0 - y, n)) -> sub(x, shl(y, n)), to simplify some code
Dan Gohman [Tue, 19 Jan 2010 23:30:49 +0000 (23:30 +0000)]
Fold (add x, shl(0 - y, n)) -> sub(x, shl(y, n)), to simplify some code
that SCEVExpander can produce when running on behalf of LSR.

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

14 years agoWrap some comments to 80 columns.
Bob Wilson [Tue, 19 Jan 2010 22:56:26 +0000 (22:56 +0000)]
Wrap some comments to 80 columns.

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

14 years agoMake SCEVAddRecExpr's getType return a pointer type when the add
Dan Gohman [Tue, 19 Jan 2010 22:53:50 +0000 (22:53 +0000)]
Make SCEVAddRecExpr's getType return a pointer type when the add
has a pointer member. This helps reduce unnecessary bitcasting
and uglygeps.

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

14 years agoFix a case where debug_value was perturbing the
Dale Johannesen [Tue, 19 Jan 2010 22:50:05 +0000 (22:50 +0000)]
Fix a case where debug_value was perturbing the
line number info.

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

14 years agoWhen doing address-mode sinking, expand the base register first, rather
Dan Gohman [Tue, 19 Jan 2010 22:45:06 +0000 (22:45 +0000)]
When doing address-mode sinking, expand the base register first, rather
than the scaled register. This makes it more likely that subsequent
AddrModeMatcher queries will match the new address the same way as the
old, instead of accidentally matching what had been the base register
as the new scaled register, and then failing to match the scaled register.
This fixes some problems with address-mode sinking multiple muls into a
block, which will be a lot more common with some upcoming
LoopStrengthReduction changes.

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

14 years agogive MCAsmInfo a 'has little endian' bit. This is unfortunate, but
Chris Lattner [Tue, 19 Jan 2010 22:42:28 +0000 (22:42 +0000)]
give MCAsmInfo a 'has little endian' bit.  This is unfortunate, but
I really want clients of the streamer to be able to say "emit this
64-bit integer" and have it get broken down right by the streamer.

I may change this in the future, we'll see how it works out.

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

14 years agoAdd a comment and tidy up some whitespace.
Dan Gohman [Tue, 19 Jan 2010 22:27:22 +0000 (22:27 +0000)]
Add a comment and tidy up some whitespace.

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

14 years agoFix a typo and an 80-column violation in comments.
Dan Gohman [Tue, 19 Jan 2010 22:26:02 +0000 (22:26 +0000)]
Fix a typo and an 80-column violation in comments.

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

14 years agoGive ScalarEvolution access to the DominatorTree. It'll need this
Dan Gohman [Tue, 19 Jan 2010 22:21:27 +0000 (22:21 +0000)]
Give ScalarEvolution access to the DominatorTree. It'll need this
to make more intellegent AddRec folding decisions.

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

14 years agosimplify the rest of fp constant printing.
Chris Lattner [Tue, 19 Jan 2010 22:16:33 +0000 (22:16 +0000)]
simplify the rest of fp constant printing.

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

14 years agosimplify the code for printing x86 long double, don't do work
Chris Lattner [Tue, 19 Jan 2010 22:11:05 +0000 (22:11 +0000)]
simplify the code for printing x86 long double, don't do work
for -fverbose-asm unless it's on.

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

14 years agoIdentify predicate and optional-def operands when printing machine
Jakob Stoklund Olesen [Tue, 19 Jan 2010 22:08:34 +0000 (22:08 +0000)]
Identify predicate and optional-def operands when printing machine
instructions.

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

14 years agoadd a new EmitIntValue method that MCStreamer impls can optionally define
Chris Lattner [Tue, 19 Jan 2010 22:03:38 +0000 (22:03 +0000)]
add a new EmitIntValue method that MCStreamer impls can optionally define
and that clients can use.

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

14 years agoAdd a new helper function to IVUsers for returning the "canonical"
Dan Gohman [Tue, 19 Jan 2010 21:55:32 +0000 (21:55 +0000)]
Add a new helper function to IVUsers for returning the "canonical"
form of an expression. This is the expression without the
post-increment adjustment made, which is useful in determining
which registers will be used by the expansion.

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

14 years agoAdd nounwinds.
Dan Gohman [Tue, 19 Jan 2010 21:51:51 +0000 (21:51 +0000)]
Add nounwinds.

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

14 years agoeliminate AsmPrinter::EmitZeros: just use MCStreamer directly.
Chris Lattner [Tue, 19 Jan 2010 21:51:22 +0000 (21:51 +0000)]
eliminate AsmPrinter::EmitZeros: just use MCStreamer directly.

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

14 years agoPromoted the getTok() method to MCAsmParser so that
Sean Callanan [Tue, 19 Jan 2010 21:44:56 +0000 (21:44 +0000)]
Promoted the getTok() method to MCAsmParser so that
the two token accessor functions are declared consistently.
Modified the clients of MCAsmParser to reflect this change.

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

14 years agoStubs for getHostCPUFeatures API. This implements part of PR5389.
Xerxes Ranby [Tue, 19 Jan 2010 21:26:05 +0000 (21:26 +0000)]
Stubs for getHostCPUFeatures API. This implements part of PR5389.

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

14 years agoRemove predicates when changing an add into an unpredicable mov.
Jakob Stoklund Olesen [Tue, 19 Jan 2010 21:08:28 +0000 (21:08 +0000)]
Remove predicates when changing an add into an unpredicable mov.

Since the mov is executed unconditionally, make sure that the add didn't have
any predicate.

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

14 years agoUpdate CMake list.
Benjamin Kramer [Tue, 19 Jan 2010 20:59:04 +0000 (20:59 +0000)]
Update CMake list.

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

14 years agoAdd some new debugging APIs to print out "raw" SelectionDAGs to make
David Greene [Tue, 19 Jan 2010 20:37:34 +0000 (20:37 +0000)]
Add some new debugging APIs to print out "raw" SelectionDAGs to make
understanding CannotYTetSelect and other errors easier.

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

14 years agoPropagated the parser-side Lex function's declaration to
Sean Callanan [Tue, 19 Jan 2010 20:27:46 +0000 (20:27 +0000)]
Propagated the parser-side Lex function's declaration to
MCAsmParser, and changed the target-specific AsmParsers
to use it.

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

14 years agoAdded a Lex function to the AsmParser, to allow handling
Sean Callanan [Tue, 19 Jan 2010 20:22:31 +0000 (20:22 +0000)]
Added a Lex function to the AsmParser, to allow handling
of include directives to occur within the parser itself.
This will break the lexer's dependency on a SourceMgr as
input.

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

14 years agoFix a bug introduced on r92564 where the name "Node" was already
Bruno Cardoso Lopes [Tue, 19 Jan 2010 19:57:07 +0000 (19:57 +0000)]
Fix a bug introduced on r92564 where the name "Node" was already
in use by Mips.

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

14 years agoGeneralize mcasmstreamer data emission APIs to take an address space
Chris Lattner [Tue, 19 Jan 2010 19:46:13 +0000 (19:46 +0000)]
Generalize mcasmstreamer data emission APIs to take an address space
identifier.  There is no way to work around it.

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

14 years agoDo not extend extension results beyond the use of a PHI instruction at the start...
Evan Cheng [Tue, 19 Jan 2010 19:45:51 +0000 (19:45 +0000)]
Do not extend extension results beyond the use of a PHI instruction at the start of a use block. A PHI use is expected to kill its source values.

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

14 years agorefactor code to be static functions instead of methods on AsmPrinter.
Chris Lattner [Tue, 19 Jan 2010 19:10:44 +0000 (19:10 +0000)]
refactor code to be static functions instead of methods on AsmPrinter.
This fixes some bugs handling address spaces.

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

14 years agomcstreamerize AsmPrinter::EmitZeros, at least when emitting to the
Chris Lattner [Tue, 19 Jan 2010 18:58:52 +0000 (18:58 +0000)]
mcstreamerize AsmPrinter::EmitZeros, at least when emitting to the
default address space.

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

14 years agoadd an MCAsmStreamer::EmitFill specialization of EmitFill that
Chris Lattner [Tue, 19 Jan 2010 18:52:28 +0000 (18:52 +0000)]
add an MCAsmStreamer::EmitFill specialization of EmitFill that
emits one directive instead of N.  Not doing this would be a
significant regression on the # bytes generated by .fill.

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

14 years agoadd a "MCStreamer::EmitFill" method, and move the default implementation
Chris Lattner [Tue, 19 Jan 2010 18:45:47 +0000 (18:45 +0000)]
add a "MCStreamer::EmitFill" method, and move the default implementation
(which just iteratively emits bytes) to MCStreamer.

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