Commit Graph

56449 Commits

Author SHA1 Message Date
Chris Lattner
03949c9db3 remove some confused code that used strtoull
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94128 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 01:17:12 +00:00
Chris Lattner
a27f64f3e3 allow registering target lexers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94127 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 01:10:40 +00:00
Chris Lattner
af0d301f43 stub out a new TargetAsmLexer interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94125 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 00:58:59 +00:00
Dan Gohman
7979b72feb Revert LoopStrengthReduce.cpp to pre-r94061 for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94123 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 00:46:49 +00:00
Ted Kremenek
3ec68f97ea Store flags in bitfields instead of masking them into the pointer for the left child. This leads to some nice conceptually cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94121 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 00:28:27 +00:00
Jim Grosbach
d5d2baec26 Fix PR5694. The CMN instructions set the flags differently from CMP, so they
cannot be directly interchanged for comparisons against negated values.
Disable the CMN instructions for the time being.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94119 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 00:08:13 +00:00
Ted Kremenek
8767d32e75 Tidy up assertion syntax. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94117 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 23:42:57 +00:00
Victor Hernandez
edd7966809 No need to look through bitcasts for DbgInfoIntrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94114 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 23:09:12 +00:00
Victor Hernandez
e31dc355b2 DbgInfoIntrinsic no longer appear in an instruction's use list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94113 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 23:08:36 +00:00
Victor Hernandez
a4c77622f7 No need to look through bitcasts for DbgInfoIntrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94112 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 23:07:15 +00:00
Victor Hernandez
6c146eefbf DbgInfoIntrinsics no longer appear in an instruction's use list; so clean up looking for them in use iterations and remove OnlyUsedByDbgInfoIntrinsics()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94111 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 23:05:53 +00:00
Dan Gohman
eca35b76ce When inserting expressions for post-increment users which contain
loop-variant components, adds must be inserted after the increment.
Keep track of the increment position for this case, and insert
these adds in the correct location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94110 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 23:01:22 +00:00
Dan Gohman
940bd3e236 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
2010-01-21 22:46:32 +00:00
Dan Gohman
8b0ade3eb8 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
2010-01-21 22:42:49 +00:00
Evan Cheng
80ffc965f5 Trim unneeded includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94105 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 21:44:43 +00:00
Dan Gohman
2f524587b6 Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94104 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 21:31:09 +00:00
Chris Lattner
839a0159c4 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
2010-01-21 21:29:25 +00:00
Chris Lattner
7bc3bcebb0 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
2010-01-21 21:20:51 +00:00
Chris Lattner
1b3ef34b75 tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94101 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 21:05:54 +00:00
Chris Lattner
d3a6d90da7 tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94100 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 21:01:47 +00:00
Chris Lattner
717ce2b8d8 remove dead .erase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94098 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 20:43:39 +00:00
Jim Grosbach
f38a33cd0a 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
2010-01-21 20:10:22 +00:00
Chris Lattner
2116a4ee55 testcase for r94095
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94096 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 20:01:04 +00:00
Chris Lattner
26141721d5 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
2010-01-21 19:58:19 +00:00
Victor Hernandez
589423cd63 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
2010-01-21 19:33:59 +00:00
Victor Hernandez
f42fae1674 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
2010-01-21 19:26:20 +00:00
Daniel Dunbar
e40eb09e5e 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
2010-01-21 16:09:59 +00:00
Benjamin Kramer
629bff692a struct/class mismatch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94075 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 15:40:14 +00:00
Dan Gohman
82b5a30724 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
2010-01-21 10:15:06 +00:00
Dan Gohman
5e5442c98b 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
2010-01-21 10:13:27 +00:00
Dan Gohman
c37e3d5d7c 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
2010-01-21 10:08:42 +00:00
Nick Lewycky
401f3258f6 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
2010-01-21 07:03:21 +00:00
Chris Lattner
1548b863ce 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
2010-01-21 06:11:03 +00:00
Dan Gohman
fca3706478 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
2010-01-21 03:51:36 +00:00
Dan Gohman
a10756ee65 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
2010-01-21 02:09:26 +00:00
Chris Lattner
ac8b4bf66b eliminate dynamic_cast from the pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94060 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 02:07:07 +00:00
Eric Christopher
ed1a4c7eab 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
2010-01-21 01:04:38 +00:00
Evan Cheng
94da721d8c 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
2010-01-21 00:55:14 +00:00
Jim Grosbach
d0a0c382ea 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
2010-01-21 00:43:30 +00:00
Sean Callanan
fd0b0288e2 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
2010-01-21 00:19:58 +00:00
Chris Lattner
0527344853 simplify this code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94048 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20 23:30:28 +00:00
Sean Callanan
bf2013ee22 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
2010-01-20 23:19:55 +00:00
Jim Grosbach
8d77cc8c5f 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
2010-01-20 23:03:55 +00:00
Sean Callanan
10d33a4937 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
2010-01-20 22:45:23 +00:00
Sean Callanan
79036e421f 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
2010-01-20 22:18:24 +00:00
Chris Lattner
73a1aa0966 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
2010-01-20 21:36:48 +00:00
Dale Johannesen
73e884bb3e make findDebugLoc a class method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20 21:36:02 +00:00
Chris Lattner
917d628256 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
2010-01-20 21:19:44 +00:00
Chris Lattner
d3ec0b5446 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
2010-01-20 21:16:14 +00:00
Chris Lattner
0e94facb5f 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
2010-01-20 20:48:59 +00:00