Bill Wendling
2914f42cce
Fix to compile on VS2008.
...
llvm-svn: 72112
2009-05-19 17:50:18 +00:00
Bob Wilson
c6726ecca5
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
ec676a76e7
Fix pr4091: Add support for "m" constraint in ARM inline assembly.
...
llvm-svn: 72105
2009-05-19 05:53:42 +00:00
Dan Gohman
1ef283d538
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
922033d119
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
9c425ac042
Test commit.
...
llvm-svn: 72092
2009-05-19 01:56:08 +00:00
Dan Gohman
aa59d257a4
Add some comments noting how IndVarSimplify facilitates
...
LoopInfo functionality.
llvm-svn: 72091
2009-05-19 01:52:46 +00:00
Owen Anderson
de192dfaee
Make using an unsupported CAS size a hard error on Windows.
...
llvm-svn: 72088
2009-05-19 01:08:36 +00:00
Owen Anderson
421e290a35
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
e4233e3349
Template CompareAndSwap function.
...
llvm-svn: 72086
2009-05-19 01:02:27 +00:00
Dale Johannesen
b9a41be8b0
Spacing fix.
...
llvm-svn: 72083
2009-05-19 00:46:42 +00:00
Mike Stump
2eb592f2f9
Fix cmake builds.
...
llvm-svn: 72078
2009-05-19 00:18:14 +00:00
Owen Anderson
4d289e72a2
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
992fe80601
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
64a0c22154
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
a443337af0
Don't set the "location" information for inlined functions' variables.
...
llvm-svn: 72064
2009-05-18 23:08:55 +00:00
Bill Wendling
8e6fe772be
Small code cleanup.
...
llvm-svn: 72057
2009-05-18 22:33:01 +00:00
Dan Gohman
e3bfb41111
Update a comment to reflect changes in the surrounding code.
...
llvm-svn: 72051
2009-05-18 22:15:25 +00:00
Evan Cheng
96674b2285
Add short descriptions of 'implicit' and 'parallel'.
...
llvm-svn: 72050
2009-05-18 22:14:45 +00:00
Bill Wendling
45cb84b4e3
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
a0756109d8
Add OpSize to 16-bit ADC and SBB.
...
llvm-svn: 72045
2009-05-18 21:41:59 +00:00
Argyrios Kyrtzidis
ce3bd2404a
Add missing file.
...
llvm-svn: 72042
2009-05-18 21:08:45 +00:00
Argyrios Kyrtzidis
422f3a0037
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
cc8d63fdef
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
51e9d81e72
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
079c2769b8
New Spiller interface and trivial implementation.
...
llvm-svn: 72030
2009-05-18 19:03:16 +00:00
Dan Gohman
a21c85512e
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
1b5625d027
Remove getType() overrides for ExtractValueInst and InsertValueInst.
...
Patch by John McCall.
llvm-svn: 72028
2009-05-18 18:46:57 +00:00
Bill Wendling
af2e508015
Revert last commit. It was wrong.
...
llvm-svn: 72026
2009-05-18 18:21:03 +00:00
Dan Gohman
20650de700
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
3f41e5ca13
Don't call RegionInlinedFnEnd if our optimization level isn't -O0.
...
llvm-svn: 72024
2009-05-18 18:17:22 +00:00
Bill Wendling
ae8a483328
Commands beginning with '--' are converted to '-f' by gcc. Blech!
...
llvm-svn: 72023
2009-05-18 18:09:36 +00:00
Dale Johannesen
6efc155312
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
1ad25cdc99
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
0a71520ce1
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
7c5aee4f79
Silence Release-Asserts warnings.
...
llvm-svn: 72011
2009-05-18 16:43:04 +00:00
Dan Gohman
592d65ba06
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
09726e69b9
Delete a redundant 'else'.
...
llvm-svn: 72009
2009-05-18 16:17:44 +00:00
Dan Gohman
e50a960c5a
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
153b5acb45
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
b24fd61296
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
2c9bd7e0cb
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
560da2a066
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
904f081ce7
Add nounwind to a few tests.
...
llvm-svn: 72002
2009-05-18 15:16:49 +00:00
Eli Friedman
573333530f
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
711313f3ac
Fix a compile warning.
...
llvm-svn: 71993
2009-05-18 03:44:24 +00:00
Lang Hames
84123bf6e8
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
18e4e1eb2b
Rename MachineVerifier pass to avoid command line collision.
...
llvm-svn: 71987
2009-05-17 19:37:14 +00:00
Duncan Sands
ead6c97920
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
85accafcba
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