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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bill Wendling
1c5fd604b3
Mark class as hidden.
...
llvm-svn: 71850
2009-05-15 06:55:26 +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
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
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
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