Owen Anderson
a5fc80c2c6
Back out the thread-safe ManagedStatic for now. Too many people have too many problems with it for the moment.
...
llvm-svn: 71931
2009-05-16 07:20:52 +00:00
Duncan Sands
6ccd63bea9
Put back a bit of expensive checking logic that
...
was overenthusiastically deleted in r70234.
llvm-svn: 71926
2009-05-16 04:14:29 +00:00
Duncan Sands
28cf31b990
Make sure the CXXFLAGS setting is picked up by
...
the common Makefile. Not sure why this suddenly
started causing problems.
llvm-svn: 71925
2009-05-16 04:00:00 +00:00
Duncan Sands
a13774ee79
Pacify gcc-4.3, which suggests explicit braces here
...
to avoid an ambiguous else.
llvm-svn: 71924
2009-05-16 03:28:54 +00:00
Jakob Stoklund Olesen
fa57451cf5
Help DejaGnu avoid pipe-jam by producing less output from certain test cases.
...
When a test fails with more than a pipeful of output on stdout AND stderr, one
of the DejaGnu programs blocks. The problem can be avoided by redirecting
stdout to a file.
llvm-svn: 71919
2009-05-16 00:34:42 +00:00
Jakob Stoklund Olesen
94c30c8409
Pass to verify generated machine code.
...
The following is checked:
* Operand counts: All explicit operands must be present.
* Register classes: All physical and virtual register operands must be
compatible with the register class required by the instruction descriptor.
* Register live intervals: Registers must be defined only once, and must be
defined before use.
The machine code verifier is enabled with the command-line option
'-verify-machineinstrs', or by defining the environment variable
LLVM_VERIFY_MACHINEINSTRS to the name of a file that will receive all the
verifier errors.
llvm-svn: 71918
2009-05-16 00:33:53 +00:00
Jay Foad
b807bd761c
Work around the fact that GNU libstdc++'s debug mode uses RTTI.
...
llvm-svn: 71871
2009-05-15 18:13:31 +00:00
Anton Korobeynikov
0df5f515ff
Unbreak mingw build
...
llvm-svn: 71856
2009-05-15 11:04:52 +00:00
Owen Anderson
1f8d845588
Improve compatibility with older versions of Windows.
...
llvm-svn: 71855
2009-05-15 10:40:23 +00:00
Bill Wendling
ac4cfe34e6
Split out the DwarfDebug module from the DwarfWriter module.
...
Again, no intendtional functionality change.
llvm-svn: 71854
2009-05-15 09:23:25 +00:00
Owen Anderson
f77567f7ac
Factor out some common code, fix more typoes, and add a memory fence that might be needed.
...
llvm-svn: 71853
2009-05-15 08:22:07 +00:00
Owen Anderson
c69f0d9a11
Fix an unfortunate typo.
...
llvm-svn: 71852
2009-05-15 08:07:23 +00:00
Bill Wendling
6bbe2a1daa
Mark class as hidden.
...
llvm-svn: 71850
2009-05-15 06:55:26 +00:00
Owen Anderson
86ba469f0a
(Hopefully) unbreak Apple-style builds.
...
llvm-svn: 71849
2009-05-15 06:49:31 +00:00
Evan Cheng
80c613f4a0
Fix PR4210. Rewritter should track and update kills of sub-registers as well.
...
llvm-svn: 71848
2009-05-15 06:48:19 +00:00
Owen Anderson
278050e948
Don't #include OSAtomic.h unless we really need it.
...
llvm-svn: 71837
2009-05-15 05:13:57 +00:00
Nick Lewycky
f8939f63a1
Fix warning.
...
llvm-svn: 71834
2009-05-15 03:07:14 +00:00
Nick Lewycky
d4466ebdda
Add extra parenthesis around || statements to pacify compiler.
...
Also fix up some 80col violations while I'm there.
llvm-svn: 71833
2009-05-15 03:03:14 +00:00
Bill Wendling
8d9aae8003
Move c'tor/d'tor to top of file.
...
llvm-svn: 71828
2009-05-15 01:18:50 +00:00
Bill Wendling
cec6308edc
Split out the DwarfException class into its own file. No functionality change,
...
though the classes have been marked with "VISIBILITY_HIDDEN".
llvm-svn: 71827
2009-05-15 01:12:28 +00:00
Bill Wendling
5fe69fa68e
Split out the Dwarf writer stuff into separate files. This is a much more
...
logical/sane approach to organizing all of the stuff that goes into writing out
DWARF information. Honestly? even this is too complex for what it's supposed to
be doing.
Trivia: It *looks* like there would be functionality changes, however there aren't!
llvm-svn: 71821
2009-05-15 00:11:17 +00:00
Owen Anderson
7ded7b9a62
Now with working on Leopard!
...
llvm-svn: 71819
2009-05-15 00:01:40 +00:00
David Greene
9a1e15d0d0
Implement !if, analogous to $(if) in GNU make.
...
llvm-svn: 71815
2009-05-14 23:26:46 +00:00
Mike Stump
a25bd435de
Reflow to fit 80-col.
...
llvm-svn: 71813
2009-05-14 23:23:37 +00:00
Mike Stump
cd9198dd91
Reflow to fit 80-col.
...
llvm-svn: 71812
2009-05-14 23:22:47 +00:00
David Greene
5841d58c6e
Fix tests to not upset DejaGNU.
...
llvm-svn: 71811
2009-05-14 23:21:40 +00:00
David Greene
70881bc6ae
Graduate LLVM to the big leagues by embedding a LISP processor into TableGen.
...
Ok, not really, but do support some common LISP functions:
* car
* cdr
* null
llvm-svn: 71805
2009-05-14 22:38:31 +00:00
David Greene
fab0ee79db
Implement a !foreach operator analogous to GNU make's $(foreach).
...
Use it on dags and lists like this:
class decls {
string name;
}
def Decls : decls;
class B<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Sr."))>;
llvm-svn: 71803
2009-05-14 22:23:47 +00:00
David Greene
26054a566e
Implement a !subst operation simmilar to $(subst) in GNU make to do
...
def/var/string substitution on generic pattern templates. For example:
def Type;
def v4f32 : Type;
def TYPE : Type;
class GenType<Type t> {
let type = !(subst TYPE, v4f32, t);
}
def TheType : GenType<TYPE>;
llvm-svn: 71801
2009-05-14 21:54:42 +00:00
Owen Anderson
a9f74b107a
Dropped this #include by accident.
...
llvm-svn: 71798
2009-05-14 21:33:57 +00:00
Owen Anderson
3451ee22e8
Make ManagedStatic threadsafe by using atomic operations.
...
llvm-svn: 71796
2009-05-14 21:26:50 +00:00
Owen Anderson
88d12ab881
Add CompareAndSwap.
...
llvm-svn: 71795
2009-05-14 21:24:15 +00:00
David Greene
e2871b8c65
Implement !cast.
...
llvm-svn: 71794
2009-05-14 21:22:49 +00:00
David Greene
5cc13bb60b
Operation Enhancements
...
Create an OpInit class to serve as a base for all operation Inits.
Move parsing of operation constructs to separate functions and reference
from multiple places.
Add some commented out new operations. Coming soon.
llvm-svn: 71789
2009-05-14 20:54:48 +00:00
David Greene
8148fb585f
Fix PR4207.
...
If we're resolving a list element access and we're given a VarInit,
return a new VarListElementInit referencing the VarInit.
llvm-svn: 71787
2009-05-14 20:38:52 +00:00
Owen Anderson
d4e2474506
Down with static variables!
...
Part one of many.
llvm-svn: 71785
2009-05-14 19:17:24 +00:00
Mike Stump
5596137537
Tag blocks with DW_AT_APPLE_block.
...
llvm-svn: 71784
2009-05-14 18:45:49 +00:00
Dale Johannesen
8bd6fc810a
Reuse existing getUnderlyingObject instead of
...
adding another copy.
llvm-svn: 71783
2009-05-14 18:41:18 +00:00
Bill Wendling
78f6980946
Non-functionality changes:
...
- Reformatting.
- Use while() instead of do-while().
- Move simple constructors into .h file.
llvm-svn: 71782
2009-05-14 18:26:15 +00:00
Bill Wendling
3449db3f16
Clean up this file fixing 80-column violations, bad formatting, etc. No functionality change.
...
llvm-svn: 71781
2009-05-14 18:16:46 +00:00
Bob Wilson
6571391191
Revert r71744. I must not have understood this correctly, because the
...
assertion is failing for some tests.
llvm-svn: 71779
2009-05-14 18:08:41 +00:00
Dale Johannesen
e740d81911
Use abs64 in one more place.
...
llvm-svn: 71775
2009-05-14 16:47:34 +00:00
Jim Grosbach
f3e59935c3
clean up line-wrapping
...
llvm-svn: 71771
2009-05-14 15:44:15 +00:00
Owen Anderson
c778e8bf21
Add an Atomic.h to the System library, for providing a platform independent API
...
to low-level sync operations.
The only one present at the moment is MemoryFence(), and only for the platforms
for which I could easily discern the proper way to do it. If your favorite platform
isn't represented, patches are welcome!
llvm-svn: 71770
2009-05-14 05:54:36 +00:00
Lang Hames
661f67bd0c
Fix for PR4124. Make TwoAddressFormPass::FindLastUseInMBB return the real last use.
...
llvm-svn: 71769
2009-05-14 04:26:30 +00:00
Jim Grosbach
bed3aeff20
Update the names of the exception handling sjlj instrinsics to
...
llvm.eh.sjlj.* for better clarity as to their purpose and scope. Add
a description of llvm.eh.sjlj.setjmp to ExceptionHandling.html.
(llvm.eh.sjlj.longjmp documentation coming when that implementation is
added).
llvm-svn: 71758
2009-05-14 00:46:35 +00:00
Dan Gohman
3ae08059b5
Add an assert to turn a segfault on an unsupported inline
...
asm construct into an assertion failure.
llvm-svn: 71757
2009-05-14 00:30:16 +00:00
Mike Stump
329994e9d4
Add dumping support for DW_AT_APPLE_isa and DW_AT_APPLE_block.
...
Radar 6867696
llvm-svn: 71750
2009-05-14 00:03:51 +00:00
Bill Wendling
a68cfc68f8
There's yet more ugliness (surprise!) in DebugInfo. This needs major reworking.
...
Basically, there was a situation where it was getting an empty vector and doing
a .back() on that. Which isn't cool.
llvm-svn: 71746
2009-05-13 23:55:49 +00:00
Bob Wilson
35ad062490
The IfConverter::MergeBlocks method appears to be used only to merge a basic
...
block with its unique predecessor. Change the code to assert if that is not
the case, instead of trying to handle situations where the block has
multiple predecessors.
llvm-svn: 71744
2009-05-13 23:54:13 +00:00