Anton Korobeynikov
6323a83e2c
Expand frem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76315 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 13:44:25 +00:00
Anton Korobeynikov
6d94eff354
Turn abort() into unreachable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76314 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 13:34:59 +00:00
Anton Korobeynikov
31e874490a
Turn few asserts into errors / unreachable's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76313 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 13:33:17 +00:00
Anton Korobeynikov
87e412b921
Handle vector returns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76312 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 12:51:06 +00:00
Anton Korobeynikov
0cca06905b
Provide expansion for ct* intrinsics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76311 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 12:26:13 +00:00
Anton Korobeynikov
e37a37de77
Expand sext_inreg for i1
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76310 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 12:20:36 +00:00
Eli Friedman
8be17397c0
Add combine: X sdiv (1 << Y) -> X udiv (1 << Y) when X doesn't have the
...
sign bit set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76304 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 09:53:21 +00:00
Eli Friedman
191a0aee4f
Remove no-op check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76302 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 09:21:25 +00:00
Eli Friedman
1694e095c0
Remove dead check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76301 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 09:12:15 +00:00
Eli Friedman
fc21f8ff14
Canonicalize insert/extractelement from single-element vectors into
...
bitcasts.
It would also be possible to canonicalize the other way; does anyone
have a preference?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76300 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 09:07:47 +00:00
Eli Friedman
62bb413435
Fix simplifylibcalls memset recognition to work on 64-bit platforms
...
where int is 32 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76293 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 08:34:51 +00:00
Daniel Dunbar
4dc31369eb
Switch lli back to using allocate-gvs-with-code behavior.
...
- Otherwise we get two regressions in llvm-test for applications which run out
of space.
- Once the JIT memory manager is improved, this can be switched back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76291 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 08:07:13 +00:00
Nick Lewycky
3a4a884c16
Replace intersectWith with maximalIntersectWith. The latter guarantees that
...
all values belonging to the intersection will belong to the resulting range.
The former was inconsistent about that point (either way is fine, just pick
one.) This is part of PR4545.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76289 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 06:34:42 +00:00
Daniel Dunbar
d370d776aa
Unbreak unittests build.
...
- Reid, please check, I'm not sure if this is what was intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76286 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 06:08:49 +00:00
Eli Friedman
4612e59779
Fix the inline cost calculation to take into account instructions
...
which cannot be folded even if they have constant operands. Significantly
helps if_spppsubr.c attached to PR4573.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76285 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 05:26:06 +00:00
Eli Friedman
ef6ab66bcf
Add line breaks to make the debug output a bit more readable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76284 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 05:12:58 +00:00
Evan Cheng
438d9900c0
Catch more coalescing opportunities.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76282 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 04:52:23 +00:00
Evan Cheng
5248468473
Enable cross register class coalescing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76281 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 02:10:10 +00:00
Dan Gohman
5a206ee7ed
Make GetElementPtr ConstantExprs default to having no pointer overflow.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76280 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 01:49:22 +00:00
Evan Cheng
3837b64f41
Revert 76177 for now. It's messing up ARM asm printing. Also this significant debate about its efficiency.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 01:43:53 +00:00
Dan Gohman
8fdedc0918
Fix this accidentally inverted condition.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76278 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 00:58:38 +00:00
Reid Kleckner
4b1511b027
Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().
...
Also a test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76276 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 00:42:18 +00:00
Dan Gohman
016de81177
Convert more code to use Operator instead of explicitly handling both
...
ConstantExpr and Instruction. This involves duplicating some code
between GetElementPtrInst and GEPOperator, but it's not a lot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76265 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 23:55:56 +00:00
Ted Kremenek
5918304c4c
Update CMake file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76264 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 23:50:26 +00:00
Daniel Dunbar
867aadfedf
llvm-mc: Default -triple to LLVM_HOSTTRIPLE.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76260 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:51:20 +00:00
Evan Cheng
59959cd966
Fix pr4552. Stack slot coloring with register must take care not to generate illegal ams.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76258 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:42:51 +00:00
Daniel Dunbar
b4b53e5c13
llvm-mc: Add -triple, and start fetching the target asm printer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:38:58 +00:00
Daniel Dunbar
cbdf0e2455
Add llvm::InitializeAllTargetInfos and llvm::InitializeAllAsmParsers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76253 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:35:35 +00:00
Dan Gohman
3a7a68c108
Make BasicAliasAnalysis and Value::getUnderlyingObject use
...
GEPOperator's hasNoPointer0verflow(), and make a few places in instcombine
that create GEPs that may overflow clear the NoOverflow value. Among
other things, this partially addresses PR2831.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76252 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:25:10 +00:00
Dan Gohman
8f080f0233
Fix some typos in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76249 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:16:21 +00:00
Evan Cheng
47e9fab158
Fix x86 inline ams 'q' constraint support. In 32-bit mode, it's just like 'Q', i.e. EAX, EDX, ECX, EBX. In 64-bit mode, it just means all the i64r registers. Yeah, that makes sense.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76248 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:13:25 +00:00
Daniel Dunbar
12c67fbf2a
Tweak svn:ignore
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76247 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:08:54 +00:00
Chris Lattner
16fe990e56
remove AsmPrinter::findGlobalValue, just use Value::stripPointerCasts instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 22:00:23 +00:00
Dan Gohman
5c2cb324d8
Add a GEPOperator class, and move the hasNoPointerOverflow
...
accessors into it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76245 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 21:33:58 +00:00
Jeffrey Yasskin
afa709d90b
Regenerate configure for ddunbar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 21:33:35 +00:00
Daniel Dunbar
f8bd844fb3
Reenable asmparser dependency generation, now with improved Perl foo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 21:26:27 +00:00
Daniel Dunbar
e02fae8a79
Disable llvm-config magic for AsmParser, it is isn't right & is breaking the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76242 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 21:22:20 +00:00
Chris Lattner
0c542ff13f
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
2009-07-17 21:14:28 +00:00
Chris Lattner
3ddd717f17
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
2009-07-17 21:11:24 +00:00
Evan Cheng
0768f0eb7f
Simplify some more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76239 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 21:06:58 +00:00
Dan Gohman
fc8deb971d
Commit this change, to accompany r76232.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76238 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 21:03:54 +00:00
Chris Lattner
3e0f60be46
Use more terse and precise linkage checks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76237 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 21:00:50 +00:00
Dan Gohman
8906f95006
Eliminate yet another copy of getOpcode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76236 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 20:58:59 +00:00
Daniel Dunbar
8413b225a6
Fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76235 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 20:56:18 +00:00
Chris Lattner
a4ff5e48fc
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
2009-07-17 20:53:51 +00:00
Dan Gohman
ff141c2062
Fix a typo that Duncan spotted.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 20:51:47 +00:00
Dan Gohman
ca178908c8
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
2009-07-17 20:47:02 +00:00
Chris Lattner
e2cf37b88c
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
2009-07-17 20:46:40 +00:00
Daniel Dunbar
092a9dda2d
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
2009-07-17 20:42:00 +00:00
Mikhail Glushenkov
234f6893a2
Trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76229 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 20:38:17 +00:00