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
Chris Lattner
6f37f8f9c3
fix include guard.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76228 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 20:32:07 +00:00
Evan Cheng
d129d73b72
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
2009-07-17 19:43:40 +00:00
Dan Gohman
1bd9f58d6d
GetElementPtr instructions default to having no overflow.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76222 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 19:23:21 +00:00
Xerxes Ranby
6215c6227e
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
2009-07-17 19:22:41 +00:00
Bob Wilson
d8aa9fc062
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
2009-07-17 19:05:13 +00:00
Dan Gohman
b4cfd15d99
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
2009-07-17 19:01:15 +00:00
Dan Gohman
31cc426d9a
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
2009-07-17 18:59:51 +00:00
Anton Korobeynikov
46a47f539d
Fix copy & paste errors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:57:16 +00:00
Dan Gohman
47128fe296
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
2009-07-17 18:56:23 +00:00
Anton Korobeynikov
0cb896a8f8
Add missed attributes to C bindings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76214 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:55:30 +00:00
Daniel Dunbar
4b9e165904
Start generating AsmMatcher.inc for X86.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:55:26 +00:00
Daniel Dunbar
22be5225ff
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
2009-07-17 18:51:11 +00:00
Jeffrey Yasskin
75402822d6
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
2009-07-17 18:49:39 +00:00
Daniel Dunbar
d75ec23ab7
Fix compile warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:33:52 +00:00
Anton Korobeynikov
bb496a358e
Add missed return
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76209 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:28:59 +00:00
Daniel Dunbar
adc82888b5
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
2009-07-17 18:09:39 +00:00
Anton Korobeynikov
c5ec8a78ea
Add support for naked functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:07:26 +00:00
Chris Lattner
a9af7e626c
rename test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76197 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 18:05:55 +00:00
Bruno Cardoso Lopes
b674dbe656
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
2009-07-17 18:02:30 +00:00
Dan Gohman
9491c16e14
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
2009-07-17 17:16:59 +00:00
Daniel Dunbar
445c89a83c
Fix typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76186 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 16:41:57 +00:00
Daniel Dunbar
ff8ac551a7
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
2009-07-17 16:20:23 +00:00
Dan Gohman
a62b5eded6
Fix an apparent typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76183 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 16:12:36 +00:00
David Greene
5024246167
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
2009-07-17 15:55:53 +00:00
Daniel Dunbar
7df0c07dbc
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
2009-07-17 15:50:49 +00:00
David Greene
ab9238e876
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
2009-07-17 14:24:46 +00:00
Duncan Sands
3e11988c42
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
2009-07-17 12:25:14 +00:00
Duncan Sands
cbc6da628a
Testcase for PR4214.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76174 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-17 11:44:20 +00:00