Devang Patel
72bc2b09af
Use getReturnTypeName() to print return type.
...
llvm-svn: 74017
2009-06-23 22:23:13 +00:00
Devang Patel
13317bfc64
upgrade
...
llvm-svn: 74016
2009-06-23 22:11:37 +00:00
Devang Patel
46160f96fb
Add DISubprogram::getReturnTypeName()
...
llvm-svn: 74015
2009-06-23 22:07:48 +00:00
Daniel Dunbar
323218db15
Start flushing out MCContext.
...
- Lives inside new library lib/MC (LLVMMC.a)
llvm-svn: 74013
2009-06-23 22:01:43 +00:00
Owen Anderson
2d65e89f30
Use atomic operations when accessing statistics, and make the lazy initialization of statistics actually threadsafe.
...
llvm-svn: 74005
2009-06-23 21:19:38 +00:00
Owen Anderson
5bda03a404
Add atomic multiply and divide operations, built on top of CompareAndSwap.
...
llvm-svn: 74004
2009-06-23 21:19:04 +00:00
Douglas Gregor
859f3091db
Reinstate target dependencies on Table_gen targets in CMake
...
llvm-svn: 74003
2009-06-23 21:05:21 +00:00
Owen Anderson
226e1d8bda
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.
llvm-svn: 74002
2009-06-23 20:52:29 +00:00
Mikhail Glushenkov
d52d5e93d0
Temporary copy-pasto to make examples compile.
...
llvm-svn: 74001
2009-06-23 20:47:24 +00:00
Mikhail Glushenkov
f7b3bf53e2
Make llvmc work again.
...
Chris recently broke llvmc with his Makefile changes (r75379). That patch made
the global change .o -> .a, which caused built-in llvmc plugins to stop working
since plugin initialization in llvmc is based on static variables not referenced
from the main executable. This patch implements auto-generated forced references
to the plugin libraries.
llvm-svn: 74000
2009-06-23 20:46:48 +00:00
Mikhail Glushenkov
a09aae730a
Typo.
...
llvm-svn: 73999
2009-06-23 20:46:00 +00:00
Mikhail Glushenkov
b246a5511d
A little bit nicer formatting.
...
llvm-svn: 73998
2009-06-23 20:45:31 +00:00
Mikhail Glushenkov
4e4656fb6a
Typo.
...
llvm-svn: 73997
2009-06-23 20:45:07 +00:00
Daniel Dunbar
92eddad1ba
Start sketching MCStreamer interface.
...
llvm-svn: 73994
2009-06-23 20:24:17 +00:00
Owen Anderson
c11dfb46c1
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.
llvm-svn: 73993
2009-06-23 20:17:22 +00:00
Bill Wendling
067eae128b
Add include file to get the type for in64_t.
...
llvm-svn: 73991
2009-06-23 20:02:00 +00:00
Evan Cheng
4dcc3bd23b
Test instructions operands were printed in the wrong order.
...
llvm-svn: 73990
2009-06-23 19:56:37 +00:00
Bill Wendling
d85f7acc83
"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!
llvm-svn: 73989
2009-06-23 19:52:59 +00:00
Lang Hames
7640e42869
Switched size_t to int64_t to prevent type mismatch in call to max.
...
llvm-svn: 73988
2009-06-23 19:49:23 +00:00
Evan Cheng
eaad82627b
Proper patterns for thumb2 shift and rotate instructions.
...
llvm-svn: 73987
2009-06-23 19:39:13 +00:00
Evan Cheng
4fc8a75ae1
Code clean up.
...
llvm-svn: 73986
2009-06-23 19:38:34 +00:00
Evan Cheng
1333ee8eb6
Add IsThumb1Only to most 16-bit thumb instructions since we want to isel 32-bit instructions when they are available.
...
llvm-svn: 73985
2009-06-23 19:38:13 +00:00
Chris Lattner
196bfd3908
add a simple MCImm class.
...
llvm-svn: 73984
2009-06-23 18:58:00 +00:00
Dale Johannesen
5b05728e00
The correct values here (as defined by gcc-4.2) are
...
different for ppc; add another version of the test.
llvm-svn: 73983
2009-06-23 18:42:26 +00:00
Chris Lattner
43f200c74a
refactor a bunch of X86 specific stuff out to its own file.
...
llvm-svn: 73982
2009-06-23 18:41:30 +00:00
Dale Johannesen
9f516abaa5
This test only works on ppc32 if some optimization is done before
...
generating LLVM IR; it is correct in the code as written
to use 8-byte-aligned operations to copy Key in bar. Formerly
the gcc inliner was run, now it isn't. I don't think it's
possible to preserve this as a pure FE test. Adding -O2 lets
the llvm optimizers get rid of the 8-byte-aligned stores, at least.
llvm-svn: 73981
2009-06-23 18:34:37 +00:00
Owen Anderson
c2d02066d0
Atomic ops that do arithmetic use signed arithmetic.
...
llvm-svn: 73980
2009-06-23 18:30:27 +00:00
Douglas Gregor
28a3a15808
CMake: remove support for llvm-config-generated dependencies in the build
...
llvm-svn: 73979
2009-06-23 18:30:17 +00:00
Owen Anderson
27a85303fe
Actually, these need to be signed integers, not unsigned.
...
llvm-svn: 73978
2009-06-23 18:21:13 +00:00
Evan Cheng
b7077f2943
Rename SelectShifterOperand to SelectThumb2ShifterOperandReg.
...
llvm-svn: 73975
2009-06-23 18:14:38 +00:00
Owen Anderson
7b3570b242
Use 64-bit integer counters for tracking time, rather than doubles. This will be more atomic op friendly.
...
llvm-svn: 73974
2009-06-23 18:12:30 +00:00
Dale Johannesen
3550840eb3
See test. Judging from PR 1278, at the time the test was committed, the
...
generated code was apparently doing stores directly into the return value
aggregate; now, it's doing a copy from a compiler-generated static object.
That object is initialized using [4 x i8] which breaks the test. I believe
this change preserves the original point of the test.
Of course it would be better for the code to do stores directly into the
return aggregate, but that is not what happens at -O0; the llvm optimizers
seem to do that on x86 but not on ppc32, possibly because of the explicit
padding (which is unavoidable). I think it must have been being done by
a gcc optimizer pass before.
llvm-svn: 73972
2009-06-23 18:03:49 +00:00
Owen Anderson
1bea9b9158
Label the existing atomic functions as 32-bit specific, and add a 64-bit one that will be useful in
...
the near future.
llvm-svn: 73971
2009-06-23 18:01:04 +00:00
Douglas Gregor
bd86dc2da3
Eliminate some unused code in CMa'e add_llvm_target. No functionality change.
...
llvm-svn: 73970
2009-06-23 17:58:51 +00:00
Douglas Gregor
3ca1e68417
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.
llvm-svn: 73969
2009-06-23 17:57:35 +00:00
Evan Cheng
73e4b03dc8
Obvious typo.
...
llvm-svn: 73967
2009-06-23 17:54:26 +00:00
Chris Lattner
2b8ea5e0c8
add an accessor.
...
llvm-svn: 73966
2009-06-23 17:50:34 +00:00
Evan Cheng
3e8033f7f7
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.
llvm-svn: 73965
2009-06-23 17:48:47 +00:00
Owen Anderson
e0ff9fb130
Add an atomic add operation.
...
llvm-svn: 73964
2009-06-23 17:39:31 +00:00
Owen Anderson
24a1453189
Make the lazy initialization of DefaultTimerGroup threadsafe.
...
llvm-svn: 73963
2009-06-23 17:33:37 +00:00
Douglas Gregor
58df12c49b
Regenerate configure script
...
llvm-svn: 73962
2009-06-23 17:22:05 +00:00
Douglas Gregor
674c7a4c20
Work around build problem with OpenJDK, which defines X86 as a
...
macro. Fixes PR 4427. Patch by Xerxes Rånby!
llvm-svn: 73961
2009-06-23 17:21:35 +00:00
Bob Wilson
eb388d9a7c
Add myself to the list.
...
llvm-svn: 73959
2009-06-23 17:03:23 +00:00
Owen Anderson
0cab9cae36
Revert r73923, which broke clang.
...
llvm-svn: 73957
2009-06-23 16:36:10 +00:00
Sanjiv Gupta
9af2c63924
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).
...
llvm-svn: 73953
2009-06-23 07:10:19 +00:00
Chris Lattner
43a2dca0e4
implement a trivial binary expression parser, we can now parse all of 176.gcc.llc.s
...
llvm-svn: 73950
2009-06-23 05:57:07 +00:00
Evan Cheng
e950c375ea
Minor reorg.
...
llvm-svn: 73948
2009-06-23 05:25:29 +00:00
Evan Cheng
92a49d75e4
Replace isTwoAddress with operand constraint.
...
llvm-svn: 73947
2009-06-23 05:23:49 +00:00
Bruno Cardoso Lopes
bd023b8ebe
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.
llvm-svn: 73944
2009-06-23 04:39:27 +00:00
Chris Lattner
c3b0266a77
get a definition of strull on windows, thanks to Howard Su.
...
llvm-svn: 73929
2009-06-23 00:24:36 +00:00