oota-llvm.git
15 years agoSupport remote execute for ARM.
David Goodwin [Fri, 10 Jul 2009 21:39:28 +0000 (21:39 +0000)]
Support remote execute for ARM.

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

15 years agoUndo my brain cramp.
Evan Cheng [Fri, 10 Jul 2009 21:31:42 +0000 (21:31 +0000)]
Undo my brain cramp.

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

15 years agoMake changes suggested by Chris and eliminate newly-added raw_ostream
David Greene [Fri, 10 Jul 2009 21:14:44 +0000 (21:14 +0000)]
Make changes suggested by Chris and eliminate newly-added raw_ostream
hooks as they're no longer needed.

The major change with this patch is to make formatted_raw_ostream usable
by any client of raw_ostream.

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

15 years agoRegenerate configure after r75279.
Jeffrey Yasskin [Fri, 10 Jul 2009 21:09:55 +0000 (21:09 +0000)]
Regenerate configure after r75279.

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

15 years agoAdd a --with-oprofile flag to configure, which uses OProfile's agent
Jeffrey Yasskin [Fri, 10 Jul 2009 21:08:20 +0000 (21:08 +0000)]
Add a --with-oprofile flag to configure, which uses OProfile's agent
library to tell it the addresses of JITted functions.  For a
particular program, this changes the opreport -l output from:

samples %    image name        symbol name
48182  98.9729 anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000) anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000)
11     0.0226  libstdc++.so.6.0.9    /usr/lib/libstdc++.so.6.0.9

to:

samples %    image name        symbol name
24565  60.7308 19814.jo        fib_left
15365  37.9861 19814.jo        fib_right
22     0.0544  ld-2.7.so       do_lookup_x

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

15 years agocode model is never set to default.
Chris Lattner [Fri, 10 Jul 2009 21:03:06 +0000 (21:03 +0000)]
code model is never set to default.

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

15 years agofix indentation
Chris Lattner [Fri, 10 Jul 2009 21:01:59 +0000 (21:01 +0000)]
fix indentation

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

15 years agoremove the now-dead TM argument to these methods.
Chris Lattner [Fri, 10 Jul 2009 21:00:45 +0000 (21:00 +0000)]
remove the now-dead TM argument to these methods.

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

15 years agomake PIC vs DynamicNoPIC be explicit in PICStyles.
Chris Lattner [Fri, 10 Jul 2009 20:58:47 +0000 (20:58 +0000)]
make PIC vs DynamicNoPIC be explicit in PICStyles.

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

15 years agosome minor simplifications.
Chris Lattner [Fri, 10 Jul 2009 20:53:38 +0000 (20:53 +0000)]
some minor simplifications.

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

15 years agoadd a couple of predicates to test for "stub style pic in PIC mode" and "stub style...
Chris Lattner [Fri, 10 Jul 2009 20:47:30 +0000 (20:47 +0000)]
add a couple of predicates to test for "stub style pic in PIC mode" and "stub style pic in dynamic-no-pic" mode.

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

15 years agoRemove ScalarEvolution::hasSCEV, which isn't being used, and which
Dan Gohman [Fri, 10 Jul 2009 20:25:29 +0000 (20:25 +0000)]
Remove ScalarEvolution::hasSCEV, which isn't being used, and which
breaks encapsulation. Also remove a dead prototype for setSCEV.

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

15 years agoAvoid compiler warnings when assertions are turned off.
Duncan Sands [Fri, 10 Jul 2009 20:10:14 +0000 (20:10 +0000)]
Avoid compiler warnings when assertions are turned off.

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

15 years agoAvoid compiler warnings if assertions turned off.
Duncan Sands [Fri, 10 Jul 2009 20:07:07 +0000 (20:07 +0000)]
Avoid compiler warnings if assertions turned off.

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

15 years agoCMOVxx doesn't swap operands which it's commuted.
Evan Cheng [Fri, 10 Jul 2009 19:26:57 +0000 (19:26 +0000)]
CMOVxx doesn't swap operands which it's commuted.

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

15 years agoRemove TargetInstrInfo::CommuteChangesDestination and added findCommutedOpIndices...
Evan Cheng [Fri, 10 Jul 2009 19:15:51 +0000 (19:15 +0000)]
Remove TargetInstrInfo::CommuteChangesDestination and added findCommutedOpIndices which returns the operand indices which are swapped (when applicable). This allows for some code clean up and future enhancements.

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

15 years agoLink std.lib (.bc code) with llvm-ld.
Sanjiv Gupta [Fri, 10 Jul 2009 19:04:05 +0000 (19:04 +0000)]
Link std.lib (.bc code) with llvm-ld.
Link devices.lib (processor specific variables) with mplink.

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

15 years agoFix unit tests.
Owen Anderson [Fri, 10 Jul 2009 18:58:29 +0000 (18:58 +0000)]
Fix unit tests.

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

15 years agoconvert test to use FileCheck, which is much more precise and faster than
Chris Lattner [Fri, 10 Jul 2009 18:34:47 +0000 (18:34 +0000)]
convert test to use FileCheck, which is much more precise and faster than
the previous RUN lines.  Hopefully this will be an inspiration for future
tests :)

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

15 years agoadd missing *, patch by Peter O'Gorman!
Chris Lattner [Fri, 10 Jul 2009 18:28:19 +0000 (18:28 +0000)]
add missing *, patch by Peter O'Gorman!

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

15 years agoPush LLVMContext through the TypeBuilder API. There are no users for this in-tree...
Owen Anderson [Fri, 10 Jul 2009 18:10:10 +0000 (18:10 +0000)]
Push LLVMContext through the TypeBuilder API.  There are no users for this in-tree, so I can't really test it.
If you're using this, and it's broken, please send patches.

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

15 years agoEliminate an unnecessary include.
David Greene [Fri, 10 Jul 2009 17:55:38 +0000 (17:55 +0000)]
Eliminate an unnecessary include.

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

15 years agoPush LLVMContext through the PatternMatch API.
Owen Anderson [Fri, 10 Jul 2009 17:35:01 +0000 (17:35 +0000)]
Push LLVMContext through the PatternMatch API.

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

15 years agoPredicate VFP instructions on HasVFP2 instead of IsARM. This allows VFP instructions...
David Goodwin [Fri, 10 Jul 2009 17:03:29 +0000 (17:03 +0000)]
Predicate VFP instructions on HasVFP2 instead of IsARM. This allows VFP instructions with thumb-2.

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

15 years agoGeneralize ScalarEvolution's cast-folding code to support more kinds
Dan Gohman [Fri, 10 Jul 2009 16:42:52 +0000 (16:42 +0000)]
Generalize ScalarEvolution's cast-folding code to support more kinds
of loops. Add several new functions to for working with ScalarEvolution's
add-hoc value-range analysis functionality.

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

15 years agoUpdate for GlobalVariables ctor change.
Owen Anderson [Fri, 10 Jul 2009 16:42:19 +0000 (16:42 +0000)]
Update for GlobalVariables ctor change.

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

15 years agot2LDM_RET does not fall-through.
David Goodwin [Fri, 10 Jul 2009 15:33:46 +0000 (15:33 +0000)]
t2LDM_RET does not fall-through.

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

15 years agoAdd Thumb2ITBlockPass.cpp to CMakeLists.txt, fixing
Duncan Sands [Fri, 10 Jul 2009 08:31:50 +0000 (08:31 +0000)]
Add Thumb2ITBlockPass.cpp to CMakeLists.txt, fixing
the cmake build.

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

15 years agomake this more like printOperand. Perhaps some merging will happen
Chris Lattner [Fri, 10 Jul 2009 07:50:52 +0000 (07:50 +0000)]
make this more like printOperand.  Perhaps some merging will happen
tomorrow.

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

15 years agosimplify fast isel by using ClassifyGlobalReference. This
Chris Lattner [Fri, 10 Jul 2009 07:48:51 +0000 (07:48 +0000)]
simplify fast isel by using ClassifyGlobalReference. This
elimiantes the last use of GVRequiresExtraLoad, so delete it.

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

15 years agoeliminate GVRequiresRegister, replacing it with predicates we
Chris Lattner [Fri, 10 Jul 2009 07:38:24 +0000 (07:38 +0000)]
eliminate GVRequiresRegister, replacing it with predicates we
need for other purposes.

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

15 years agochange a bunch of logic in LowerGlobalAddress to leverage the work
Chris Lattner [Fri, 10 Jul 2009 07:34:39 +0000 (07:34 +0000)]
change a bunch of logic in LowerGlobalAddress to leverage the work
done in ClassifyGlobalReference instead of reconstructing the info
awkwardly.

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

15 years agoadd a predicate to determine if a global var reference requires a
Chris Lattner [Fri, 10 Jul 2009 07:33:30 +0000 (07:33 +0000)]
add a predicate to determine if a global var reference requires a
PIC-base to be added in.

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

15 years agomove some classification logic around. Now GVRequiresExtraLoad
Chris Lattner [Fri, 10 Jul 2009 07:20:05 +0000 (07:20 +0000)]
move some classification logic around.  Now GVRequiresExtraLoad
is just a trivial wrapper around "ClassifyGlobalReference", which
stole a ton of logic from LowerGlobalAddress.

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

15 years agochange isGlobalStubReference to take target flags instead of a MachineOperand.
Chris Lattner [Fri, 10 Jul 2009 06:29:59 +0000 (06:29 +0000)]
change isGlobalStubReference to take target flags instead of a MachineOperand.

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

15 years agoconvert some late code (called by regalloc and code emission)
Chris Lattner [Fri, 10 Jul 2009 06:07:08 +0000 (06:07 +0000)]
convert some late code (called by regalloc and code emission)
to use isGlobalStubReference instead of GVRequiresExtraLoad
(which should really be part of isel).

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

15 years agoadd a new predicate method that says whether a GlobalValue
Chris Lattner [Fri, 10 Jul 2009 06:06:17 +0000 (06:06 +0000)]
add a new predicate method that says whether a GlobalValue
MachineOperand is a reference to a stub, not a reference to the
global variable itself.  Look no context needed!

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

15 years agoGVRequiresExtraLoad is now never used for calls, simplify it based on this.
Chris Lattner [Fri, 10 Jul 2009 05:52:02 +0000 (05:52 +0000)]
GVRequiresExtraLoad is now never used for calls, simplify it based on this.

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

15 years agoactually, just eliminate PCRelGVRequiresExtraLoad. It makes the code
Chris Lattner [Fri, 10 Jul 2009 05:48:03 +0000 (05:48 +0000)]
actually, just eliminate PCRelGVRequiresExtraLoad.  It makes the code
more complex and slow than just directly testing what we care about.

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

15 years agoThere is only one case where GVRequiresExtraLoad returns true for calls:
Chris Lattner [Fri, 10 Jul 2009 05:45:15 +0000 (05:45 +0000)]
There is only one case where GVRequiresExtraLoad returns true for calls:
split its handling out to PCRelGVRequiresExtraLoad, and simplify code
based on this.

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

15 years agothe "isDirectCall" operand of GVRequiresRegister is always false, eliminate it.
Chris Lattner [Fri, 10 Jul 2009 05:37:11 +0000 (05:37 +0000)]
the "isDirectCall" operand of GVRequiresRegister is always false, eliminate it.

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

15 years agosplit call handling out of X86SelectAddress into X86SelectCallAddress
Chris Lattner [Fri, 10 Jul 2009 05:33:42 +0000 (05:33 +0000)]
split call handling out of X86SelectAddress into X86SelectCallAddress

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

15 years agoconvert a helper method to be a static function instead of a
Chris Lattner [Fri, 10 Jul 2009 05:27:43 +0000 (05:27 +0000)]
convert a helper method to be a static function instead of a
template.  Also convert it to take a MachineOperand instead of a GV*

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

15 years ago80 col violation.
Evan Cheng [Fri, 10 Jul 2009 05:20:19 +0000 (05:20 +0000)]
80 col violation.

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

15 years agoMore info about Thumb1 predication support.
Evan Cheng [Fri, 10 Jul 2009 02:10:17 +0000 (02:10 +0000)]
More info about Thumb1 predication support.

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

15 years agoWe don't need separate thumb1 instructions tADDSi3 etc. for addc and subc. The "norma...
Evan Cheng [Fri, 10 Jul 2009 02:09:04 +0000 (02:09 +0000)]
We don't need separate thumb1 instructions tADDSi3 etc. for addc and subc. The "normal" version always modify condition register CPSR so we should just use def : pat to match to the same instructions.

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

15 years agoAdd a thumb2 pass to insert IT blocks.
Evan Cheng [Fri, 10 Jul 2009 01:54:42 +0000 (01:54 +0000)]
Add a thumb2 pass to insert IT blocks.

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

15 years agoMove isPredicated from .cpp to .h
Evan Cheng [Fri, 10 Jul 2009 01:38:27 +0000 (01:38 +0000)]
Move isPredicated from .cpp to .h

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

15 years agoFinish pushing LLVMContext through the IRBuilder/ConstantFolder interface.
Owen Anderson [Fri, 10 Jul 2009 00:49:53 +0000 (00:49 +0000)]
Finish pushing LLVMContext through the IRBuilder/ConstantFolder interface.

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

15 years ago80 col violation.
Evan Cheng [Fri, 10 Jul 2009 00:45:16 +0000 (00:45 +0000)]
80 col violation.

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

15 years agoFix #include specification.
David Greene [Fri, 10 Jul 2009 00:34:39 +0000 (00:34 +0000)]
Fix #include specification.

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

15 years agoImmutableMap/ImmutableSet: Allow caching of ImutAVLTree digests while the tree
Ted Kremenek [Fri, 10 Jul 2009 00:33:43 +0000 (00:33 +0000)]
ImmutableMap/ImmutableSet: Allow caching of ImutAVLTree digests while the tree
is still mutable. My experiments show this reduces the amount of times we
compute a full tree digest by over 50% on very small cases, and potentially much
larger on others.

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

15 years agoRemove a bogus assertion.
Evan Cheng [Fri, 10 Jul 2009 00:23:48 +0000 (00:23 +0000)]
Remove a bogus assertion.

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

15 years agoReplace TM.getRegisterInfo() calls by TRI instance variable.
Bob Wilson [Fri, 10 Jul 2009 00:14:05 +0000 (00:14 +0000)]
Replace TM.getRegisterInfo() calls by TRI instance variable.
Use getAsmName() method instead of accessing AsmName field directly.

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

15 years agoRedesign this to avoid standard stream classes. This stream class
David Greene [Thu, 9 Jul 2009 23:56:35 +0000 (23:56 +0000)]
Redesign this to avoid standard stream classes.  This stream class
provides pretty -printing of comments and other such things in asm
files.

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

15 years agoHandle 'a' modifier on inline assembly operands.
Bob Wilson [Thu, 9 Jul 2009 23:54:51 +0000 (23:54 +0000)]
Handle 'a' modifier on inline assembly operands.
This is part of the fix for pr4521.

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

15 years agoThis started as a small change, I swear. Unfortunately, lots of things call the...
Owen Anderson [Thu, 9 Jul 2009 23:48:35 +0000 (23:48 +0000)]
This started as a small change, I swear.  Unfortunately, lots of things call the [I|F]CmpInst constructors.  Who knew!?

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

15 years agoAdd some hooks that a redesigned AsmStream needs to do its job. These
David Greene [Thu, 9 Jul 2009 23:43:41 +0000 (23:43 +0000)]
Add some hooks that a redesigned AsmStream needs to do its job.  These
allow derived classes to examine the stream buffer before it's flushed.

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

15 years agoAdded Thumb IT instruction.
Evan Cheng [Thu, 9 Jul 2009 23:43:36 +0000 (23:43 +0000)]
Added Thumb IT instruction.

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

15 years agoFix an apparent copy-and-paste problem in an error message.
Bob Wilson [Thu, 9 Jul 2009 23:42:59 +0000 (23:42 +0000)]
Fix an apparent copy-and-paste problem in an error message.

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

15 years agoAnother todo entry.
Evan Cheng [Thu, 9 Jul 2009 23:17:28 +0000 (23:17 +0000)]
Another todo entry.

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

15 years agoRevert the part of 75177 that split ConstantRange into two classes, and
Dan Gohman [Thu, 9 Jul 2009 23:16:10 +0000 (23:16 +0000)]
Revert the part of 75177 that split ConstantRange into two classes, and
merge the new functionality and unittests into ConstantRange. Thanks to
Nick Lewycky for pointing out that it isn't necessary to have two separate
classes here.

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

15 years agoInitial support for load / store multiple opt pass Thumb2 support (post-allocation...
Evan Cheng [Thu, 9 Jul 2009 23:11:34 +0000 (23:11 +0000)]
Initial support for load / store multiple opt pass Thumb2 support (post-allocation only). It's kind of there, but not quite. I'll return to this later.

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

15 years agoFix ldm / stm unified syntax; add t2LDM_RET.
Evan Cheng [Thu, 9 Jul 2009 22:58:39 +0000 (22:58 +0000)]
Fix ldm / stm unified syntax; add t2LDM_RET.

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

15 years agoLDM_RET should be marked mayLoad.
Evan Cheng [Thu, 9 Jul 2009 22:57:41 +0000 (22:57 +0000)]
LDM_RET should be marked mayLoad.

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

15 years agoIf -fomit-frame-pointer is used, we still need to record when the %esp register
Bill Wendling [Thu, 9 Jul 2009 22:30:02 +0000 (22:30 +0000)]
If -fomit-frame-pointer is used, we still need to record when the %esp register
is modified. Otherwise, the unwinder will get confused. The old code (before I
started my hacking) did this. It dropped on the floor, because I wasn't aware of
this requirement.

On the plus side, if we use "alloca" in a function, we create frame pointers
even with -fomit-frame-pointer is enabled!

This is a Good Thing(tm)!!!

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

15 years agoFix ldrd / strd address mode matching code. It allows for +/- 8 bit offset. Also...
Evan Cheng [Thu, 9 Jul 2009 22:21:59 +0000 (22:21 +0000)]
Fix ldrd / strd address mode matching code. It allows for +/- 8 bit offset. Also change the printer to make the scale 4 explicit.

Note, we are not yet generating these instructions.

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

15 years agoFix typo, trailing whitespace.
Andreas Bolka [Thu, 9 Jul 2009 22:14:25 +0000 (22:14 +0000)]
Fix typo, trailing whitespace.

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

15 years agoAdd a ConstantSignedRange class, which does for signed integers
Dan Gohman [Thu, 9 Jul 2009 22:07:27 +0000 (22:07 +0000)]
Add a ConstantSignedRange class, which does for signed integers
what ConstantRange does for unsigned integers. Factor out a
common base class for common functionality.

Add some new functions for performing arithmetic on constant
ranges. Some of these are currently just stubbed out with
conservative implementations.

Add unittests for ConstantRange and ConstantSignedRange.

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

15 years agoMake EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned
Eli Friedman [Thu, 9 Jul 2009 22:01:03 +0000 (22:01 +0000)]
Make EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned
value.  Adjust other code to deal with that correctly.  Make
DAGTypeLegalizer::PromoteIntRes_EXTRACT_VECTOR_ELT take advantage of
this new flexibility to simplify the code and make it deal with unusual
vectors (like <4 x i1>) correctly.  Fixes PR3037.

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

15 years agoAdd a Thumb readme entry.
Evan Cheng [Thu, 9 Jul 2009 20:50:52 +0000 (20:50 +0000)]
Add a Thumb readme entry.

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

15 years agoCorrect comment.
Evan Cheng [Thu, 9 Jul 2009 20:40:44 +0000 (20:40 +0000)]
Correct comment.

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

15 years agobug 4524: Add MSP430 to the cmake build.
Richard Pennington [Thu, 9 Jul 2009 20:27:09 +0000 (20:27 +0000)]
bug 4524: Add MSP430 to the cmake build.

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

15 years agoHandle 'A' modifier in inline asms.
Dale Johannesen [Thu, 9 Jul 2009 20:06:27 +0000 (20:06 +0000)]
Handle 'A' modifier in inline asms.
gcc.apple/asm-block-13.c
gcc.apple/asm-block-57.c

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

15 years agoRegenerate.
Mikhail Glushenkov [Thu, 9 Jul 2009 19:39:49 +0000 (19:39 +0000)]
Regenerate.

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

15 years agoDocumentation update.
Mikhail Glushenkov [Thu, 9 Jul 2009 19:39:16 +0000 (19:39 +0000)]
Documentation update.

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

15 years agoWe don't need to set SaveTemps here.
Mikhail Glushenkov [Thu, 9 Jul 2009 19:38:32 +0000 (19:38 +0000)]
We don't need to set SaveTemps here.

'--temp-dir' always overrides 'save-temps'.

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

15 years agoAdjust comment.
Mikhail Glushenkov [Thu, 9 Jul 2009 19:37:58 +0000 (19:37 +0000)]
Adjust comment.

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

15 years agoRemove some duplication.
Mikhail Glushenkov [Thu, 9 Jul 2009 19:37:17 +0000 (19:37 +0000)]
Remove some duplication.

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

15 years agoRename -t to --temp-dir.
Mikhail Glushenkov [Thu, 9 Jul 2009 19:36:08 +0000 (19:36 +0000)]
Rename -t to --temp-dir.

-t is already used by gcc in the meaning 'ld -t' (trace). The Base plugin may
 want to emulate this behaviour.

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

15 years agoAs Chris pointed out, we don't actually need to pass the context around here.
Owen Anderson [Thu, 9 Jul 2009 18:44:09 +0000 (18:44 +0000)]
As Chris pointed out, we don't actually need to pass the context around here.

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

15 years agoback out r75156 for now.
Chris Lattner [Thu, 9 Jul 2009 18:41:57 +0000 (18:41 +0000)]
back out r75156 for now.

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

15 years agoA little bit more LLVMContextification.
Owen Anderson [Thu, 9 Jul 2009 18:36:20 +0000 (18:36 +0000)]
A little bit more LLVMContextification.

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

15 years agoHandle Thumb-2 addressing modes during FP elimination.
David Goodwin [Thu, 9 Jul 2009 18:35:52 +0000 (18:35 +0000)]
Handle Thumb-2 addressing modes during FP elimination.

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

15 years agoImmutableSet/ImmutableMap: Allow caching of null digests by properly using a flag...
Ted Kremenek [Thu, 9 Jul 2009 18:34:41 +0000 (18:34 +0000)]
ImmutableSet/ImmutableMap: Allow caching of null digests by properly using a flag to record if the digest of an ImutAVLTree has been cached.

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

15 years agoAdd some classes to produce pretty-printed asm. We'll use these
David Greene [Thu, 9 Jul 2009 18:27:23 +0000 (18:27 +0000)]
Add some classes to produce pretty-printed asm.  We'll use these
shortly to provide nicely printed comments and other goodies in
asm files.

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

15 years agoBy default -t is always on for mcc16 and it uses ./tmp-objs as the temp directory.
Sanjiv Gupta [Thu, 9 Jul 2009 18:09:26 +0000 (18:09 +0000)]
By default -t is always on for mcc16 and it uses ./tmp-objs as the temp directory.

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

15 years agoFixed handling of -t. It gets the prirority for temp dir name.
Sanjiv Gupta [Thu, 9 Jul 2009 18:06:27 +0000 (18:06 +0000)]
Fixed handling of -t. It gets the prirority for temp dir name.

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

15 years agoThread LLVMContext through MVT and related parts of SDISel.
Owen Anderson [Thu, 9 Jul 2009 17:57:24 +0000 (17:57 +0000)]
Thread LLVMContext through MVT and related parts of SDISel.

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

15 years agoResolve undefined behaviour when ManagedStatic is instantiated with a fixed-length...
Alisdair Meredith [Thu, 9 Jul 2009 17:26:16 +0000 (17:26 +0000)]
Resolve undefined behaviour when ManagedStatic is instantiated with a fixed-length array type.

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

15 years agoadd llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!
Chris Lattner [Thu, 9 Jul 2009 17:25:12 +0000 (17:25 +0000)]
add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!

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

15 years agoRegenerate for GraphViz tool discovery.
David Greene [Thu, 9 Jul 2009 17:16:26 +0000 (17:16 +0000)]
Regenerate for GraphViz tool discovery.

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

15 years agoAdd support for other GraphViz display tools. This can help
David Greene [Thu, 9 Jul 2009 17:06:18 +0000 (17:06 +0000)]
Add support for other GraphViz display tools.  This can help
with very large graphs, where dot isn't necessarily the
most visually pleasing way of looking at the graph.

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

15 years agoremove dead function.
Chris Lattner [Thu, 9 Jul 2009 16:57:49 +0000 (16:57 +0000)]
remove dead function.

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

15 years agoMisc encoding fixes; reported on llvmdev.
Eli Friedman [Thu, 9 Jul 2009 16:49:25 +0000 (16:49 +0000)]
Misc encoding fixes; reported on llvmdev.

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

15 years agoeraseFromDisk no longer throws.
Chris Lattner [Thu, 9 Jul 2009 16:17:28 +0000 (16:17 +0000)]
eraseFromDisk no longer throws.

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

15 years agoThere's no need to consider PHI nodes in the same block as the instruction
Nick Lewycky [Thu, 9 Jul 2009 15:59:27 +0000 (15:59 +0000)]
There's no need to consider PHI nodes in the same block as the instruction
we're inserting sigma/phi functions for. Patch by Andre Tavares.

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

15 years agoForgot a couple files when adding the -ssi-everything pass.
Nick Lewycky [Thu, 9 Jul 2009 15:33:55 +0000 (15:33 +0000)]
Forgot a couple files when adding the -ssi-everything pass.

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

15 years agoAdd some statistics to SSI so we can see what it's up to.
Nick Lewycky [Thu, 9 Jul 2009 15:33:14 +0000 (15:33 +0000)]
Add some statistics to SSI so we can see what it's up to.
Add an -ssi-everything pass which calls createSSI on everything in the function.

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

15 years ago* Install crosstool in /usr/local/crosstool
Misha Brukman [Thu, 9 Jul 2009 15:24:04 +0000 (15:24 +0000)]
* Install crosstool in /usr/local/crosstool
* Updated LLVM and LLVM-GCC to newer revisions
* Allow separate revisions per SVN module
* Allow user to override MAKE_OPTS
* Removed unused function verifyNotDir()

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