Dan Gohman
432af7ace0
Add -disable-output to a bunch of tests that don't care about the output.
...
llvm-svn: 73633
2009-06-17 20:56:26 +00:00
Dale Johannesen
81b6463ed0
This fixes a bug introduced in 72661, which can
...
move loads back past a check that the load address
is valid, see new testcase. The test that went
in with 72661 has exactly this case, except that
the conditional it's moving past is checking
something else; I've settled for changing that
test to reference a global, not a pointer. It
may be possible to scan all the tests you pass and
make sure none of them are checking any component
of the address, but it's not trivial and I'm not
trying to do that here.
llvm-svn: 73632
2009-06-17 20:48:23 +00:00
Owen Anderson
f89c38cace
Factor out some common code.
...
llvm-svn: 73631
2009-06-17 20:43:39 +00:00
Owen Anderson
65c5cd728e
Add an RAII ScopedWriter, which allows one to acquire a writer lock for the duration of a scope. Simplify a lot of uses of
...
writer locks in Constants.cpp by using it.
llvm-svn: 73630
2009-06-17 20:34:43 +00:00
Fariborz Jahanian
ccd44a5072
Added missing @endcode.
...
llvm-svn: 73629
2009-06-17 20:24:52 +00:00
Owen Anderson
61794049e4
Simplify the locking on the Constants tables, and make it more efficient, by pushing it into the ValueMap from the callers.
...
Document those ValueMap functions that are _not_ locked, so that callers are aware that they need to do the locking themselves.
llvm-svn: 73628
2009-06-17 20:10:08 +00:00
Douglas Gregor
6b6bba4a20
Diagnose the use of attributes on namespace aliases, from Anis Ahmad
...
llvm-svn: 73626
2009-06-17 19:49:00 +00:00
Torok Edwin
ba93ea7632
Add debug message about non-local loads being clobbered.
...
llvm-svn: 73625
2009-06-17 18:48:18 +00:00
Owen Anderson
2d7231d4c3
Type safety for Constants.cpp! Some of this is temporary, as I'm planning to push some of the R/W locking into FoldingSet.
...
llvm-svn: 73624
2009-06-17 18:40:29 +00:00
Douglas Gregor
4bf38785b1
Make sure that .td and .def files get into the list of headers in a CMake build, for use in Xcode and Visual Studio
...
llvm-svn: 73623
2009-06-17 18:31:02 +00:00
Anton Korobeynikov
02bb33c58d
Initial support for some Thumb2 instructions.
...
Patch by Viktor Kutuzov and Anton Korzh from Access Softek, Inc.
llvm-svn: 73622
2009-06-17 18:13:58 +00:00
Dan Gohman
d8329e8378
Update comments to use doxygen syntax.
...
llvm-svn: 73621
2009-06-17 17:51:33 +00:00
Owen Anderson
4b660a8da7
Protect the ValueHandle table.
...
llvm-svn: 73620
2009-06-17 17:36:57 +00:00
Chris Lattner
a0e4dedf9e
link in targets
...
llvm-svn: 73619
2009-06-17 17:25:50 +00:00
Chris Lattner
d15131020d
Remove old #includes
...
llvm-svn: 73618
2009-06-17 17:23:16 +00:00
Owen Anderson
e5fdd0b5d1
We need to guard reads of the AbstractTypeUsers list, as well as writes to it. While it would be nice to use a R/W lock here,
...
we can't, because it HAS to be recursive.
llvm-svn: 73617
2009-06-17 17:13:54 +00:00
Douglas Gregor
3def847551
Define LLVM_NATIVE_ARCH in CMake, so that lli can actually JIT
...
llvm-svn: 73616
2009-06-17 17:01:56 +00:00
Douglas Gregor
2761988cfd
Add RWMutex.cpp to the CMake makefiles
...
llvm-svn: 73615
2009-06-17 17:01:30 +00:00
Owen Anderson
a4b739aff4
Type safety for TypeSymbolTable!
...
llvm-svn: 73614
2009-06-17 16:56:27 +00:00
Chris Lattner
d24df24527
make sure that JIT examples link in their appropriate target.
...
llvm-svn: 73613
2009-06-17 16:48:44 +00:00
Chris Lattner
f44da17824
remove two headers subsumed by TargetSelect.h
...
llvm-svn: 73612
2009-06-17 16:45:02 +00:00
Chris Lattner
5dcc4f6999
switch to using llvm/Target/TargetSelect.h
...
llvm-svn: 73611
2009-06-17 16:42:19 +00:00
Chris Lattner
e57ab8dbd0
Add a utility header that makes it easy to link in the right set
...
of targets for various purposes.
llvm-svn: 73610
2009-06-17 16:42:01 +00:00
Douglas Gregor
d04acaad93
Use env properly in test/Driver/analyze.c
...
llvm-svn: 73609
2009-06-17 15:41:17 +00:00
Owen Anderson
74af4ee79d
Improve the Win32 reader-writer lock implementation by making it just a normal
...
lock. This is obviously bad, but at least it's threadsafe! If you know how
to improve this in a pre-Vista friendly well, patches welcome!
Patch by Max Burke.
llvm-svn: 73607
2009-06-17 09:10:42 +00:00
Nick Lewycky
510dae3051
Fix libLTO by #include'ing the initializers for all targets and all asm
...
printers.
While I'm here, alphabetize.
llvm-svn: 73606
2009-06-17 06:52:10 +00:00
Sanjiv Gupta
2f2b0a1985
>> What if my global variable was into a different address space than stack?
...
>>
>
> It doesn't matter in terms of semantics: because AnalyzeGlobal
> returned false, we're guaranteed the address of the global is never
> taken. I wouldn't be surprised if we end up generating invalid IR in
> some cases, though, because of the semantics of replaceAllUsesWith.
> Do you have a testcase that breaks?
>
>
The problem is replaceAllUsesWith asserts for type mismatch here. Try attached .bc with llvm-ld.
assert(New->getType() == getType() &&
"replaceAllUses of value with new value of different type!");
Since stack is always on address space zero, I don't think that type of GV in a different address space is ever going to match.
The other way is to allow replaceAllUsesWith to ignore address spaces while comparing types. (do we have a way to do that ?).
But then such an optimization may fail the entire idea of user wanting to place a variable into different memory space. The original idea of user might be to save on the stack space (data memory) and hence he asked the variable to be placed into different memory space (program memory). So the best bet here is to deny this optimization by checking
GV->getType()->getAddressSpace() == 0.
llvm-svn: 73605
2009-06-17 06:47:15 +00:00
Chris Lattner
94dfae248b
Update clang for the add ->add/fadd split. Likewise for sub and mul.
...
llvm-svn: 73604
2009-06-17 06:36:24 +00:00
Chris Lattner
e60ff6702a
make CreateFMul forward to CreateFMul, not CreateMul.
...
llvm-svn: 73603
2009-06-17 06:31:02 +00:00
Nick Lewycky
d9d1f817a0
Fix grammaro, and bad indentation.
...
llvm-svn: 73602
2009-06-17 04:23:52 +00:00
Mikhail Glushenkov
b697c774fe
Fix comment.
...
llvm-svn: 73601
2009-06-17 03:10:10 +00:00
Mikhail Glushenkov
132a47191d
Formatting fix.
...
llvm-svn: 73600
2009-06-17 03:09:39 +00:00
Eli Friedman
28891b661d
Correct an accidental duplication of the test (patch doesn't handle
...
creating new files very well).
llvm-svn: 73599
2009-06-17 03:05:00 +00:00
Eli Friedman
a0fba5319d
PR3439: Correct a silly mistake in the SimplifyDemandedUseBits code for
...
SRem.
llvm-svn: 73598
2009-06-17 02:57:36 +00:00
Mikhail Glushenkov
7af1d248f5
Regenerate.
...
llvm-svn: 73597
2009-06-17 02:56:48 +00:00
Mikhail Glushenkov
fbd815fb7a
Another small documentation update.
...
llvm-svn: 73596
2009-06-17 02:56:08 +00:00
Chris Lattner
4ced3324c5
Use Doug's new LLVM_NATIVE_ARCH macro in config.h to link in the native
...
target so that the JIT works in LLI, not just the interpreter.
llvm-svn: 73595
2009-06-17 02:15:40 +00:00
Dan Gohman
b50f5a46e0
Fix ScalarEvolution's Xor handling to not assume that an And
...
that gets recognized with a SCEVZeroExtendExpr must be an And
with a low-bits mask. With r73540, this is no longer the case.
llvm-svn: 73594
2009-06-17 01:22:39 +00:00
Devang Patel
722848dc01
Do not use first actual instruction's location for prologue. The debug wants to skip prologue while setting a breakpoint for the function.
...
llvm-svn: 73592
2009-06-17 00:48:26 +00:00
Douglas Gregor
43613a2b0a
Update auto-generated configuration files
...
llvm-svn: 73591
2009-06-17 00:43:20 +00:00
Douglas Gregor
7cbf816b7c
Define LLVM_NATIVE_ARCH in llvm/Config/config.h to be the LLVM back end that corresponds to the native executable, but only when that LLVM back end is being built
...
llvm-svn: 73590
2009-06-17 00:42:33 +00:00
Anders Carlsson
58a9b0eafe
Remove all non-const getters from TemplateArgumentList.
...
llvm-svn: 73589
2009-06-17 00:35:01 +00:00
Owen Anderson
82b58a843b
Use atomic increment/decrement for reference counting of Type's.
...
llvm-svn: 73588
2009-06-17 00:28:49 +00:00
Owen Anderson
8d0fe6f0d7
Add an atomic increment and decrement implementation, which will be used for
...
thread-safe reference counting.
llvm-svn: 73587
2009-06-17 00:13:00 +00:00
Owen Anderson
c39919151d
Add locking around the accessors for AbstractTypeUsers.
...
llvm-svn: 73586
2009-06-17 00:12:30 +00:00
Fariborz Jahanian
5b130a56fd
Place -Wreadonly-setter-attrs under -Wmost option group.
...
llvm-svn: 73585
2009-06-17 00:06:21 +00:00
Douglas Gregor
dca24385f3
If any tests fail, the test runner returns a status code of 1
...
llvm-svn: 73584
2009-06-16 23:40:23 +00:00
Douglas Gregor
ffbc629cd7
Make these driver tests do the right thing even when MACOSX_DEPLOYMENT_TARGET is set.
...
llvm-svn: 73583
2009-06-16 23:37:56 +00:00
Daniel Dunbar
10978e414c
Stub out printing of the thread model with -v.
...
- Turns out libstdcxx greps for this in configure.
llvm-svn: 73582
2009-06-16 23:32:58 +00:00
Daniel Dunbar
1b3ec3a000
Fake support for -print-multi-*
...
- I think we will eventually need to support this for realz, and some build
processes seem to depend on these options.
llvm-svn: 73581
2009-06-16 23:25:22 +00:00