Daniel Dunbar
2068647926
Add -submit-aux option to NewNightlyTest.pl
...
- If given, the argument will be run using system with the path to the sent
data. Useful for testing nightlytest server replacements.
llvm-svn: 72070
2009-05-18 23:24:26 +00:00
Bill Wendling
ec78f1516d
Don't set the "location" information for inlined functions' variables.
...
llvm-svn: 72064
2009-05-18 23:08:55 +00:00
Bill Wendling
1992f86733
Small code cleanup.
...
llvm-svn: 72057
2009-05-18 22:33:01 +00:00
Dan Gohman
479858749b
Update a comment to reflect changes in the surrounding code.
...
llvm-svn: 72051
2009-05-18 22:15:25 +00:00
Evan Cheng
e87bd1d8f7
Add short descriptions of 'implicit' and 'parallel'.
...
llvm-svn: 72050
2009-05-18 22:14:45 +00:00
Bill Wendling
bc308569a3
RecordVariable is called each time a DECLARE node is encountered. For an inlined
...
function, this could be many, many times. We don't want to re-add variables to
that DIE for each time. We just want to add them once. Check to make sure that
we haven't added them already.
llvm-svn: 72047
2009-05-18 22:02:36 +00:00
Dale Johannesen
74503f0b31
Add OpSize to 16-bit ADC and SBB.
...
llvm-svn: 72045
2009-05-18 21:41:59 +00:00
Argyrios Kyrtzidis
1bf0fc8301
Add missing file.
...
llvm-svn: 72042
2009-05-18 21:08:45 +00:00
Argyrios Kyrtzidis
c65c525617
Allow the JIT ExecutionEngine to report details about the generated machine code.
...
Introduce a new class (MachineCodeInfo) that the JIT can fill in with details. Right now, just the address and the size of the machine code are reported.
Patch by Evan Phoenix!
llvm-svn: 72040
2009-05-18 21:06:40 +00:00
Bob Wilson
d9145fca7f
Fix CodePlacementOpt::OptimizeIntraLoopEdges so that its return value
...
correctly indicates whether it changed the code.
llvm-svn: 72038
2009-05-18 21:02:18 +00:00
Bob Wilson
320d54a2d8
Fix pr4202: Disable CodePlacementOpt for ARM. The ARMConstantIslandPass has
...
to run last because it needs to know the exact size and position of every
basic block. Currently CodePlacementOpt is set up to run last. It might be
worthwhile to investigate reordering these passes, but for now, let's just
make it work.
llvm-svn: 72037
2009-05-18 20:55:32 +00:00
Lang Hames
cf47d0134f
New Spiller interface and trivial implementation.
...
llvm-svn: 72030
2009-05-18 19:03:16 +00:00
Dan Gohman
f0974de75e
Revert r72025. It is possible for clients to convert between signed types
...
and pointer types safely if they only do so when the sizes are the same.
llvm-gcc is such a client.
llvm-svn: 72029
2009-05-18 18:55:39 +00:00
Eric Christopher
8089763f48
Remove getType() overrides for ExtractValueInst and InsertValueInst.
...
Patch by John McCall.
llvm-svn: 72028
2009-05-18 18:46:57 +00:00
Bill Wendling
d2dc9063d7
Revert last commit. It was wrong.
...
llvm-svn: 72026
2009-05-18 18:21:03 +00:00
Dan Gohman
32912cbf65
Add assertions to CastInst::getCastOpcode to catch attempted conversions
...
between integers and pointers when the source type is marked signed,
since inttoptr and ptrtoint always use zero-extension when the destination
is larger than the source.
llvm-svn: 72025
2009-05-18 18:18:57 +00:00
Bill Wendling
af7e400fda
Don't call RegionInlinedFnEnd if our optimization level isn't -O0.
...
llvm-svn: 72024
2009-05-18 18:17:22 +00:00
Bill Wendling
b17990999f
Commands beginning with '--' are converted to '-f' by gcc. Blech!
...
llvm-svn: 72023
2009-05-18 18:09:36 +00:00
Dale Johannesen
1df0e80380
Fill in the missing patterns for ADC and SBB.
...
Some comment cleanup.
llvm-svn: 72022
2009-05-18 17:44:15 +00:00
Douglas Gregor
b81294d989
termios.h contains the winsize structure we need to determine the
...
width of a terminal. Don't try to get the width of a terminal if we
don't have this header.
llvm-svn: 72018
2009-05-18 17:21:34 +00:00
Dan Gohman
14d1339579
Rename UseTy to AccessTy, for consistency with getAccessType, and to
...
avoid ambiguity with the word "use" in IVStrideUse.
llvm-svn: 72012
2009-05-18 16:45:28 +00:00
Daniel Dunbar
a8c1658619
Silence Release-Asserts warnings.
...
llvm-svn: 72011
2009-05-18 16:43:04 +00:00
Dan Gohman
6350296efc
Teach ScalarEvolution to recognize x^-1 in the case where non-demanded
...
bits have been stripped out by instcombine.
llvm-svn: 72010
2009-05-18 16:29:04 +00:00
Dan Gohman
d277a1ed49
Delete a redundant 'else'.
...
llvm-svn: 72009
2009-05-18 16:17:44 +00:00
Dan Gohman
9cf09f8291
Fix ScalarEvolution::isLoopGuardedByCond to accept a null Loop*, for
...
consistency with other routines that use a null Loop* to mean code
not contained by any loop.
llvm-svn: 72008
2009-05-18 16:03:58 +00:00
Dan Gohman
4fc3668a92
Minor code cleanups. Do more of the work before the if statements
...
instead of within their controlling expressions.
llvm-svn: 72007
2009-05-18 15:58:39 +00:00
Dan Gohman
d33f36e23b
Add assertion checks to the SCEV operator creation methods to catch
...
type mismatches.
llvm-svn: 72006
2009-05-18 15:44:58 +00:00
Dan Gohman
8c77f1a275
Make ScalarEvolution::isLoopGuardedByCond work even when the edge
...
entering a loop is a non-split critical edge.
llvm-svn: 72004
2009-05-18 15:36:09 +00:00
Dan Gohman
ba7f6d8276
Add an isOne() utility function to ScalarEvolution, similar to isZero()
...
and similar to ConstantInt's isOne().
llvm-svn: 72003
2009-05-18 15:22:39 +00:00
Dan Gohman
b81dd48fd2
Add nounwind to a few tests.
...
llvm-svn: 72002
2009-05-18 15:16:49 +00:00
Eli Friedman
a97f07f22d
Tweak MemoryBuffer::getSTDIN so that it returns after the first EOF.
...
It doesn't matter for piped input, but it's annoying when typing at the
console.
llvm-svn: 71998
2009-05-18 08:44:04 +00:00
Daniel Dunbar
5d8165435d
Fix a compile warning.
...
llvm-svn: 71993
2009-05-18 03:44:24 +00:00
Lang Hames
4030d8122d
Prevented reg0 from being added to MBB live-in set, which was causing issues
...
for PostRAScheduler.
llvm-svn: 71991
2009-05-17 23:50:36 +00:00
Jakob Stoklund Olesen
1c3da3a94b
Rename MachineVerifier pass to avoid command line collision.
...
llvm-svn: 71987
2009-05-17 19:37:14 +00:00
Duncan Sands
c5161d4b83
Check that the gcc front-end is not doing inlining
...
when not doing unit-at-a-time.
llvm-svn: 71986
2009-05-17 19:37:02 +00:00
Anton Korobeynikov
6de08cd093
Mark rotl/rotr as expand. This generates pretty ugly code, but this is better than nothing.
...
llvm-svn: 71976
2009-05-17 10:16:28 +00:00
Anton Korobeynikov
6b5523aec2
Typo
...
llvm-svn: 71975
2009-05-17 10:15:22 +00:00
Bill Wendling
e9353d7d6f
Formatting. Some updating of data structures. More work needs to be done to update the examples.
...
llvm-svn: 71974
2009-05-17 05:52:39 +00:00
Owen Anderson
33c346b807
Significantly improve Atomic.h by pulling in code from libatomic_ops by HP. This is a little outdated, but reasonably complete.
...
llvm-svn: 71973
2009-05-17 04:57:54 +00:00
Owen Anderson
48371650b6
Remove the volatile marker from the cas_flag typedef, fixing some warnings.
...
It's now the client's resposibility to add it in when needed
llvm-svn: 71959
2009-05-16 21:08:25 +00:00
Jakob Stoklund Olesen
af917d8f85
Fix a missing def-flag on a Mips epilogue load.
...
llvm-svn: 71935
2009-05-16 07:26:06 +00:00
Jakob Stoklund Olesen
99abac8996
Remember to set def-flag on register loaded from stack slot in CellSPU.
...
llvm-svn: 71934
2009-05-16 07:25:44 +00:00
Jakob Stoklund Olesen
e61c7a3958
Verify that explicit definitions in the TargetInstrDesc are matched by
...
explicit register define operands.
llvm-svn: 71933
2009-05-16 07:25:20 +00:00
Jakob Stoklund Olesen
c482d14565
Allow redefinition of reserved registers.
...
llvm-svn: 71932
2009-05-16 07:24:54 +00:00
Owen Anderson
b5c37ff57b
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
83d008614f
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
81e053a739
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
bdbc98f3ef
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
9d7fb58581
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
36c027ab18
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
e609ab00a5
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
dae2d9a852
Unbreak mingw build
...
llvm-svn: 71856
2009-05-15 11:04:52 +00:00
Owen Anderson
e61a56f6f3
Improve compatibility with older versions of Windows.
...
llvm-svn: 71855
2009-05-15 10:40:23 +00:00
Bill Wendling
2f921f82e4
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
0e4b4929fc
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
2e38cb19a4
Fix an unfortunate typo.
...
llvm-svn: 71852
2009-05-15 08:07:23 +00:00
Bill Wendling
1c5fd604b3
Mark class as hidden.
...
llvm-svn: 71850
2009-05-15 06:55:26 +00:00
Owen Anderson
dc17f4fe62
(Hopefully) unbreak Apple-style builds.
...
llvm-svn: 71849
2009-05-15 06:49:31 +00:00
Evan Cheng
e23c109a67
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
c9cbd86cfa
Don't #include OSAtomic.h unless we really need it.
...
llvm-svn: 71837
2009-05-15 05:13:57 +00:00
Nick Lewycky
942982278c
Fix warning.
...
llvm-svn: 71834
2009-05-15 03:07:14 +00:00
Nick Lewycky
d449e7c8c6
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
dd20b98c35
Move c'tor/d'tor to top of file.
...
llvm-svn: 71828
2009-05-15 01:18:50 +00:00
Bill Wendling
d64cd2bb6e
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
47054f3d57
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
509bb7423e
Now with working on Leopard!
...
llvm-svn: 71819
2009-05-15 00:01:40 +00:00
David Greene
3587eed2c4
Implement !if, analogous to $(if) in GNU make.
...
llvm-svn: 71815
2009-05-14 23:26:46 +00:00
Mike Stump
35ea2c9aa6
Reflow to fit 80-col.
...
llvm-svn: 71813
2009-05-14 23:23:37 +00:00
Mike Stump
13e4f10c53
Reflow to fit 80-col.
...
llvm-svn: 71812
2009-05-14 23:22:47 +00:00
David Greene
9bb2de17c2
Fix tests to not upset DejaGNU.
...
llvm-svn: 71811
2009-05-14 23:21:40 +00:00
David Greene
d571b3c94b
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
e917fff30f
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
98ed3c7273
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
a379765d45
Dropped this #include by accident.
...
llvm-svn: 71798
2009-05-14 21:33:57 +00:00
Owen Anderson
5c46602d30
Make ManagedStatic threadsafe by using atomic operations.
...
llvm-svn: 71796
2009-05-14 21:26:50 +00:00
Owen Anderson
a6947e9436
Add CompareAndSwap.
...
llvm-svn: 71795
2009-05-14 21:24:15 +00:00
David Greene
e8f3b27e65
Implement !cast.
...
llvm-svn: 71794
2009-05-14 21:22:49 +00:00
David Greene
5d0c051e66
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
9d3febea6a
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
672855eba8
Down with static variables!
...
Part one of many.
llvm-svn: 71785
2009-05-14 19:17:24 +00:00
Mike Stump
207fbf4320
Tag blocks with DW_AT_APPLE_block.
...
llvm-svn: 71784
2009-05-14 18:45:49 +00:00
Dale Johannesen
1ac1969e09
Reuse existing getUnderlyingObject instead of
...
adding another copy.
llvm-svn: 71783
2009-05-14 18:41:18 +00:00
Bill Wendling
6ddc11aedd
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
3fe4cf745b
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
857fe4e425
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
f241df9abe
Use abs64 in one more place.
...
llvm-svn: 71775
2009-05-14 16:47:34 +00:00
Jim Grosbach
1a18dcc34a
clean up line-wrapping
...
llvm-svn: 71771
2009-05-14 15:44:15 +00:00
Owen Anderson
d54eb23aa6
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
2646b72424
Fix for PR4124. Make TwoAddressFormPass::FindLastUseInMBB return the real last use.
...
llvm-svn: 71769
2009-05-14 04:26:30 +00:00
Jim Grosbach
06928192ae
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
d4f63052c4
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
0e78566e02
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
cdec744869
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
b4c93b1ff7
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
Jim Grosbach
4f915313ed
Removing the HasBuiltinSetjmp flag and associated bits. Flagging the presence
...
of exception handling builtin sjlj targets in functions turns out not to
be necessary. Marking the intrinsic implementation in the .td file as
defining all registers is sufficient to get the context saved properly by
the containing function.
llvm-svn: 71743
2009-05-13 23:50:53 +00:00
Bob Wilson
43f21dde1e
Revert a portion of Dan's change r71018 that I'm convinced is wrong.
...
Dan was trying to catch the case where a basic block ends with a conditional
branch to the fall-through block. In this case, all the instructions have
been moved out of FromBBI, leaving it empty. It cannot end with a
conditional branch. As the existing comment indicates, it will always fall
through to the next block. If the block already had the next block (NBB)
listed as a successor, the preceding loop has a check for that and does not
remove it. Thus, we need to check and add the successor only when it is
not already listed.
With Dan's change, the empty block often ends up with the fall-through
successor listed twice. This exposed the problem in pr4195, where
CodePlacementOpt did not handle the same predecessor listed more than once.
It is also at least partially responsible for pr4202 and probably a similar
issue with Thumb branches being out of range.
llvm-svn: 71742
2009-05-13 23:48:58 +00:00
Bob Wilson
969bf71ca6
Merge adjacent conditional.
...
llvm-svn: 71741
2009-05-13 23:35:38 +00:00
Bob Wilson
43467d7daf
Remove an unused variable.
...
llvm-svn: 71740
2009-05-13 23:31:30 +00:00
Bob Wilson
2371f4f70a
Fix some typos and spelling and grammar, mostly in comments, but also one
...
field name. No functional changes.
llvm-svn: 71739
2009-05-13 23:25:24 +00:00
Mike Stump
889285d467
Fix whitespacing (space after switch).
...
llvm-svn: 71738
2009-05-13 23:23:20 +00:00