Dan Gohman
adc70d6806
Trim unneeded #includes.
...
llvm-svn: 72130
2009-05-19 20:35:26 +00:00
Dan Gohman
d33a090efa
Make SCEVCallbackVH a private nested class inside ScalarEvolution, as
...
it's an implementation detail.
llvm-svn: 72122
2009-05-19 19:22:47 +00:00
Dan Gohman
7a97e933cd
Create ConstantExpr GEPs the correct way. This fixes
...
MultiSource/Benchmarks/Prolangs-C/football and a variety of other
failures.
llvm-svn: 72120
2009-05-19 19:18:01 +00:00
Bob Wilson
840e3281ff
Follow up on new support for memory operands in ARM inline assembly.
...
This fixes pr4233.
llvm-svn: 72115
2009-05-19 18:33:02 +00:00
Bill Wendling
670da9a22a
Forward decls.
...
llvm-svn: 72114
2009-05-19 17:52:31 +00:00
Bill Wendling
a3b8e84a57
Remove 'class' specifier.
...
llvm-svn: 72113
2009-05-19 17:51:26 +00:00
Bill Wendling
a8705a95a6
Fix to compile on VS2008.
...
llvm-svn: 72112
2009-05-19 17:50:18 +00:00
Bob Wilson
e666cc5206
Fix pr4058 and pr4059. Do not split i64 or double arguments between r3 and
...
the stack. Patch by Sandeep Patel.
llvm-svn: 72106
2009-05-19 10:02:36 +00:00
Bob Wilson
a2c462bbe9
Fix pr4091: Add support for "m" constraint in ARM inline assembly.
...
llvm-svn: 72105
2009-05-19 05:53:42 +00:00
Dan Gohman
d697a2dd8e
Remove the #ifndef NDEBUG from the FastISel debugging options. This
...
fixes dejagnu tests that use these options.
llvm-svn: 72094
2009-05-19 02:19:57 +00:00
Dan Gohman
2649491f9c
Teach SCEVExpander to expand arithmetic involving pointers into GEP
...
instructions. It attempts to create high-level multi-operand GEPs,
though in cases where this isn't possible it falls back to casting
the pointer to i8* and emitting a GEP with that. Using GEP instructions
instead of ptrtoint+arithmetic+inttoptr helps pointer analyses that
don't use ScalarEvolution, such as BasicAliasAnalysis.
Also, make the AddrModeMatcher more aggressive in handling GEPs.
Previously it assumed that operand 0 of a GEP would require a register
in almost all cases. It now does extra checking and can do more
matching if operand 0 of the GEP is foldable. This fixes a problem
that was exposed by SCEVExpander using GEPs.
llvm-svn: 72093
2009-05-19 02:15:55 +00:00
Cristian Cadar
1e059f6080
Test commit.
...
llvm-svn: 72092
2009-05-19 01:56:08 +00:00
Dan Gohman
62070faac4
Add some comments noting how IndVarSimplify facilitates
...
LoopInfo functionality.
llvm-svn: 72091
2009-05-19 01:52:46 +00:00
Owen Anderson
6359122668
Make using an unsupported CAS size a hard error on Windows.
...
llvm-svn: 72088
2009-05-19 01:08:36 +00:00
Owen Anderson
b11bfb360d
Fix up the Windows portion of Atomic.h. This is untested, but it is my best understanding of what should work.
...
I'd be much obliged if someone on MSVC++ could try this out and let me know if it works.
llvm-svn: 72087
2009-05-19 01:07:40 +00:00
Owen Anderson
8e41adcc4d
Template CompareAndSwap function.
...
llvm-svn: 72086
2009-05-19 01:02:27 +00:00
Dale Johannesen
5668077271
Spacing fix.
...
llvm-svn: 72083
2009-05-19 00:46:42 +00:00
Mike Stump
ebf04f2843
Fix cmake builds.
...
llvm-svn: 72078
2009-05-19 00:18:14 +00:00
Owen Anderson
36a70867f4
Now that we have atomics support properly detected by configure,
...
use it to implement Atomic.h.
This expunges the code previously imported from libatomic_ops.
llvm-svn: 72077
2009-05-19 00:08:29 +00:00
Owen Anderson
b9509c55fe
Test for the presence of GCC atomic builtins at configure time. If not found,
...
disable building LLVM in thread-safe mode and print a nice warning.
Regenerate configure for these changes.
llvm-svn: 72075
2009-05-18 23:58:51 +00:00
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