Owen Anderson
bd58edf591
Move local statics to per-instance variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74132 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 22:28:12 +00:00
Owen Anderson
2e69310fd2
Make this thread-safe.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74129 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 22:16:52 +00:00
Owen Anderson
09fc0fa0b1
Get rid of a static boolean.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74125 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 22:08:59 +00:00
Andreas Bolka
cb21010fa0
Scaffolding for LDA pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74120 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 21:29:13 +00:00
Bob Wilson
e46161f10c
Fix the Ocaml bindings for the ExecutionEngine: with the change to build
...
libraries instead of relinked objects, the interpreter, JIT, and native
target libraries were not being linked in to an ocaml program using the
ExecutionEngine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74117 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 21:09:18 +00:00
Lang Hames
6bbc73d3fd
Completed basic intra block split implementation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74114 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 20:46:24 +00:00
Chris Lattner
ab16299346
move some functions, add a FIXME, use PrintPICBaseSymbol to print the
...
picbase instead of inlining it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74111 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 19:44:36 +00:00
David Greene
f2e19d5dcf
This increases the maximum for MVT::LAST_VALUETYPE
...
This change doubles the allowable value for MVT::LAST_VALUETYPE. It does
this by doing several things.
1. Introduces MVT::MAX_ALLOWED_LAST_VALUETYPE which in this change has a
value of 64. This value contains the current maximum for the
MVT::LAST_VALUETYPE.
2. Instead of checking "MVT::LAST_VALUETYPE <= 32", all of those uses
now become "MVT::LAST_VALUETYPE <= MVT::MAX_ALLOWED_LAST_VALUETYPE"
3. Changes the dimension of the ValueTypeActions from 2 elements to four
elements and adds comments ahead of the declaration indicating the it is
"(MVT::MAX_ALLOWED_LAST_VALUETYPE/32) * 2". This at least lets us find
what is affected if and when MVT::MAX_ALLOWED_LAST_VALUETYPE gets
changed.
4. Adds initializers for the new elements of ValueTypeActions.
This does NOT add any types in MVT. That would be done separately.
This doubles the size of ValueTypeActions from 64 bits to 128 bits and
gives us the freedom to add more types for AVX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74110 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 19:41:55 +00:00
Daniel Dunbar
84a2926fb7
Sketch streamer support for .align, .org functionality.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74109 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 19:25:34 +00:00
Chris Lattner
b5299dd06a
reimplement getPICLabelString as PrintPICBaseSymbol to eliminate std::string heap thrashing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 19:19:16 +00:00
Chris Lattner
0de1fc4f41
sink management of DwarfWriter & MachineModuleInfo into the AsmPrinter base class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74101 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 19:09:55 +00:00
Chris Lattner
1f522feabf
sink dwarf finalization out of each target into AsmPrinter::doFinalization
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74097 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 18:54:37 +00:00
Chris Lattner
0a7befa8bd
eliminate the ExtWeakSymbols set from AsmPrinter. This eliminates
...
a bunch of code from all the targets, and eliminates nondeterministic
ordering of directives being emitted in the output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74096 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 18:52:01 +00:00
Chris Lattner
52cff83526
only emit one .align for all the hidden gv stubs instead of one for each.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74094 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 18:24:42 +00:00
Chris Lattner
8f61f984b0
inline print*Stub and rearrange function stub printing to more closely match
...
gv and hiddengv stub printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74093 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 18:24:09 +00:00
Chris Lattner
3a03f74349
remove dead code now that personality functions don't print stubs directly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74092 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 18:19:01 +00:00
Chris Lattner
9dd71749bc
remove now-dead argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74091 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 18:17:56 +00:00
Chris Lattner
381d4fef6f
simplify personality function stub printing to use the mangler and
...
decorateName like other stuff instead of special casing _. Also, stick
it into GVStubs and let the normal stub printer print the stub instead
of doing it manually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74090 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 18:17:00 +00:00
Chris Lattner
7af485e109
remove dead argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74089 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 18:00:11 +00:00
Chris Lattner
31530617dd
Rearrange some stuff in MachineOperand and add a new TargetFlags field.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74087 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 17:54:48 +00:00
Owen Anderson
8cbc94afb7
Get rid of the global CFGOnly flag by threading a ShortNames parameters through the GraphViz rendering code.
...
Update other uses in the codebase for this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 17:37:09 +00:00
Dale Johannesen
8539cfd30e
Rewrite 73900 per Duncan's suggestion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 17:11:31 +00:00
Daniel Dunbar
71d259bc4b
We decided to not worry about Atoms for now, it should be straightforward to
...
reintroduce them later.
Also, don't require MCSection* when creating a symbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 17:00:42 +00:00
Daniel Dunbar
d814b21509
MCStreamer: Add a few more "symbol attributes".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74077 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 16:36:52 +00:00
Daniel Dunbar
f5e75a1fa9
MCStreamer: Test printing values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74076 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 16:05:35 +00:00
Dan Gohman
9311ef6a91
Minor whitespace cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74074 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 14:49:00 +00:00
Dan Gohman
e5aceed168
Simplify [su]max(MAX, n) to MAX. This comes up in loop tripcount
...
computations in loops with multiple exits.
Adjust the testcase for PR4436 so that the relevant portion isn't
optimized away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74073 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 14:46:22 +00:00
Dan Gohman
32a81a3f6d
When inserting code into a loop preheader, insert it before the
...
terminator, instead of after the last phi. This fixes a bug
exposed by ScalarEvolution analyzing more kinds of loops.
This fixes PR4436.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74072 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 14:31:06 +00:00
Duncan Sands
cd58c5940c
Add new files to cmake list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74071 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 10:03:44 +00:00
Chris Lattner
974469d7aa
factor some code better.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74067 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 05:47:59 +00:00
Chris Lattner
40e3c7acad
wire up support for MCContext/MCStreamer in -experimental-asm-printer mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 05:46:28 +00:00
Chris Lattner
929a49356e
remove dead makefile flags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74065 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 05:29:56 +00:00
Dan Gohman
64a845e836
Delete some orphaned comments, fix some 80-column violations,
...
and tidy up a few other formatting issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74060 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 04:48:43 +00:00
Chris Lattner
c69485e34d
add trivial support for passing label definitions through the MCStreamer.
...
This is suboptimal in several aspects, see the commented out assertion.
I need to talk to Daniel about this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74057 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 04:31:49 +00:00
Lang Hames
98d5982e00
Fixed a bug in LiveInterval scaling (failure to scale VNI defs correctly), removed old TODO comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 02:17:32 +00:00
Evan Cheng
ef5d070bbe
Fix support for inline asm input / output operand tying when operand spans across multiple registers (e.g. two i64 operands in 32-bit mode).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 02:05:51 +00:00
Dan Gohman
40a5a1b39e
Extend ScalarEvolution's multiple-exit support to compute exact
...
trip counts in more cases.
Generalize ScalarEvolution's isLoopGuardedByCond code to recognize
And and Or conditions, splitting the code out into an
isNecessaryCond helper function so that it can evaluate Ands and Ors
recursively, and make SCEVExpander be much more aggressive about
hoisting instructions out of loops.
test/CodeGen/X86/pr3495.ll has an additional instruction now, but
it appears to be due to an arbitrary register allocation difference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 01:18:18 +00:00
Nick Lewycky
b825aaa028
Unbreak build on Linux by removing Darwinism.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74046 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 01:08:42 +00:00
Dan Gohman
62849c065e
Teach GetMinSignBits about SCEVAddExprs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74045 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 01:05:09 +00:00
Daniel Dunbar
a11af531ec
Start MCAsmStreamer implementation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74044 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 01:03:06 +00:00
Dan Gohman
fd6325cbb2
Revert this accidental commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74042 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 00:55:55 +00:00
Dan Gohman
6bbcba18db
Move the special cases for constants out of getUnknown and into
...
createSCEV. Also, recognize UndefValue in createSCEV.
Change getIntegerSCEV's comment to avoid mentioning FP types,
and re-implement it in terms of getConstant instead of getUnknown.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74041 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 00:54:57 +00:00
Dan Gohman
b8be8b70a2
Use ScalarEvolution::getConstant instead of getUnknown to create
...
SCEVConstants. This cleanup is a step toward letting getUnknown
be simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74037 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 00:38:39 +00:00
Dan Gohman
aa551ae10e
Include the maximum trip count expression in ScalarEvolution's print output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74035 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 00:33:16 +00:00
Dan Gohman
4d289bf4af
Add an isAllOnesValue utility function, similar to isZero and isOne.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74032 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 00:30:26 +00:00
Dan Gohman
ea080be986
Don't emit a redundant BitCastInst if the value to be defined in the
...
preheader is already an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74031 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 00:28:59 +00:00
Owen Anderson
6b96f6cfeb
Guard the listeners list. Unfortunately, this requires a real static rather
...
than a managed static because other managed statics can (and do) access this
list in their destructors. Yes, I know it's horrible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74029 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 00:25:42 +00:00
Bob Wilson
a96751fc8f
Provide InitializeAllTargets and InitializeNativeTarget functions in the
...
C bindings. Change all the backend "Initialize" functions to have C linkage.
Change the "llvm/Config/Targets.def" header to use C-style comments to avoid
compile warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74026 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 23:59:40 +00:00
Daniel Dunbar
ba1da8a7b1
Update for MCImm -> MCValue rename.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74024 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 23:39:15 +00:00
Sean Callanan
1c97ceb5e2
Test commit: fixed spacing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 23:25:37 +00:00
Devang Patel
9af2fa879c
It is not a good idea to have data member's name match argument's name. In fact, it is a simple receipe to waste an hour or so.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74018 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 22:25:41 +00:00
Devang Patel
d933803b51
Use getReturnTypeName() to print return type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74017 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 22:23:13 +00:00
Daniel Dunbar
ecc63f8687
Start flushing out MCContext.
...
- Lives inside new library lib/MC (LLVMMC.a)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74013 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 22:01:43 +00:00
Owen Anderson
92915e31e9
Use atomic operations when accessing statistics, and make the lazy initialization of statistics actually threadsafe.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74005 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 21:19:38 +00:00
Owen Anderson
e0fa0b42b2
Add atomic multiply and divide operations, built on top of CompareAndSwap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74004 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 21:19:04 +00:00
Owen Anderson
46d9a64944
Make timers threadsafe again. This isn't quite as nice as I'd hoped (it uses locking rather than atomic arithmetic),
...
but should work on all the platforms we care about.
I might revisit this if a totally awesome way to do it occurs to me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74002 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 20:52:29 +00:00
Owen Anderson
6f2c64d70a
Revert my last series of commits related to Timer and 64-bit atomics. Not all the targets
...
we care about are capable of supporting it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73993 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 20:17:22 +00:00
Evan Cheng
b8f7706911
Test instructions operands were printed in the wrong order.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73990 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 19:56:37 +00:00
Bill Wendling
5c324d77d9
"The MMX_MASKMOVQ and MMX_MASKMOVQ64 instructions are labeled as MRMDestMem
...
instructions, which implies that there is an explicit memory operand. There is
(however) no explicit memory operand; although this is a store, the only memory
operand is implicit, indicated by DS:EDI. This causes the table-generation code
for the disassembler to report an error."
Patch by Sean Callanan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73989 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 19:52:59 +00:00
Lang Hames
b2889959c4
Switched size_t to int64_t to prevent type mismatch in call to max.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73988 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 19:49:23 +00:00
Evan Cheng
a67efd1226
Proper patterns for thumb2 shift and rotate instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73987 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 19:39:13 +00:00
Evan Cheng
e870af4837
Code clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73986 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 19:38:34 +00:00
Evan Cheng
09c39fcf83
Add IsThumb1Only to most 16-bit thumb instructions since we want to isel 32-bit instructions when they are available.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73985 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 19:38:13 +00:00
Owen Anderson
f43f9d0ef8
Atomic ops that do arithmetic use signed arithmetic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73980 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 18:30:27 +00:00
Owen Anderson
14112e5169
Actually, these need to be signed integers, not unsigned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73978 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 18:21:13 +00:00
Evan Cheng
e499f97058
Rename SelectShifterOperand to SelectThumb2ShifterOperandReg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73975 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 18:14:38 +00:00
Owen Anderson
cd92c1000e
Use 64-bit integer counters for tracking time, rather than doubles. This will be more atomic op friendly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73974 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 18:12:30 +00:00
Owen Anderson
0de9953e88
Label the existing atomic functions as 32-bit specific, and add a 64-bit one that will be useful in
...
the near future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73971 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 18:01:04 +00:00
Douglas Gregor
7e9e36a23e
Eliminate object-relinking support from CMake. Fixes PR 4429 and
...
cleans up the CMake-based build system a bit. Started by a patch from
Xerxes Rånby.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73969 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 17:57:35 +00:00
Evan Cheng
83a2129332
Obvious typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73967 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 17:54:26 +00:00
Evan Cheng
f49810c7e6
Initial Thumb2 support. Majority of the work is done by David Goodwin. There are
...
also some contribution from Jim Grosbach, Bob Wilson, and Evan Cheng.
I've done my best to consolidate the patches with those that were done by
Viktor Kutuzov and Anton Korzh from Access Softek, Inc. Let me know if missed
anything. I've completely reorganized the thumb2 td file, made more extensive
uses of multiclass, etc.
Test cases will be contributed later after I re-organize what's in svn first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73965 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 17:48:47 +00:00
Owen Anderson
5a9c0eeaf2
Add an atomic add operation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73964 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 17:39:31 +00:00
Owen Anderson
3b8d135879
Make the lazy initialization of DefaultTimerGroup threadsafe.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73963 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 17:33:37 +00:00
Owen Anderson
200aa6d89b
Revert r73923, which broke clang.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73957 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 16:36:10 +00:00
Sanjiv Gupta
ae99227ef9
Fold the add (ptr, offset) into ptr[offset] only if the offset is small enough. movwi and moviw allow value of 5-bits only (i.e. 32).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 07:10:19 +00:00
Evan Cheng
e07715cfba
Minor reorg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 05:25:29 +00:00
Evan Cheng
3850a6ae9d
Replace isTwoAddress with operand constraint.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73947 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 05:23:49 +00:00
Bruno Cardoso Lopes
e39493eb1b
Use a default alignment for data and bss sections.
...
Only pad when the section size > 0 and move the code that deals
with globals initializers to a place we know for sure the global
is initialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73944 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 04:39:27 +00:00
Owen Anderson
606e9eb6e6
Guard the layout info object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73928 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 00:21:15 +00:00
Owen Anderson
61ffc0c7fd
Guard the plugin loader.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73925 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 00:02:39 +00:00
Owen Anderson
af2e2b54b6
Add guards around timer groups, which can be shared.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73923 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 23:37:06 +00:00
Dan Gohman
91380b7239
Fix a bug in the trip-count computation with And/Or. If either of the
...
sides is CouldNotCompute, the resulting exact count must be CouldNotCompute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73920 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 23:28:56 +00:00
Bob Wilson
5bafff36c7
Add support for ARM's Advanced SIMD (NEON) instruction set.
...
This is still a work in progress but most of the NEON instruction set
is supported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73919 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 23:27:02 +00:00
Owen Anderson
5de83afcdc
Guard the statistics table.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73916 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 23:08:27 +00:00
Owen Anderson
521db56182
Guard the global annotation tables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73913 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 22:44:15 +00:00
Owen Anderson
c226570bde
Add locking around the external function lookup table for the interpreter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73912 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 22:30:56 +00:00
Owen Anderson
e7b6118a51
Remove unneeded #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73911 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 22:09:07 +00:00
Dan Gohman
469f3cdc13
Fix a few minor issues that were exposed by the removal of SCEVHandle.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73910 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 22:08:45 +00:00
Bob Wilson
1c76d0ee5c
Add explicit types for shift count constants. This is in preparation for
...
another change that makes the types ambiguous (at least as far as tablegen
is concerned).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73909 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 22:08:29 +00:00
Dan Gohman
bd5ce52740
Fix llvm::ComputeNumSignBits to handle pointer types
...
conservatively correctly, instead of aborting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73908 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 22:02:32 +00:00
Owen Anderson
753ad615f9
Remove the parent pointer from SCEV, since it did not end up being needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73907 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 21:57:23 +00:00
Owen Anderson
372b46cad9
SCEVHandle is no more!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73906 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 21:39:50 +00:00
Bob Wilson
9170ab6685
Use thumb2 for ARM architectures V6T2 and later. Fix a bug in checking
...
for "thumb" and add a check for V6T2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73905 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 21:28:22 +00:00
Dan Gohman
d32f5bf22d
Fix some typos that Duncan noticed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73903 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 21:10:22 +00:00
Bob Wilson
54fc124d72
For Darwin on ARMv6 and newer, make register r9 available for use as a
...
caller-saved register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73901 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 21:01:46 +00:00
Dale Johannesen
08bc98e3cc
Fix memcpy expansion so it won't generate invalid
...
types for the target (I think). This was breaking
the PPC32 calling sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73900 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 20:59:07 +00:00
Evan Cheng
81909b7423
Fix another register coalescer crash: forgot to check if the instruction being updated has already been coalesced.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73898 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 20:49:32 +00:00
Bruno Cardoso Lopes
c236a345c7
Use different functions to emit the string and symbol tables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73895 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 19:29:56 +00:00
Bruno Cardoso Lopes
0d3193ef3c
Add more methods to gather target specific elf stuff
...
Support for .text relocations, implementing TargetELFWriter overloaded methods for x86/x86_64.
Use a map to track global values to their symbol table indexes
Code cleanup and small fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73894 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 19:16:16 +00:00
Evan Cheng
8dcbbdd00e
hasFP should return true if frame address is taken.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22 18:38:48 +00:00