Sean Callanan
a68b2a56bb
Added far return instructions (that is, returns to
...
code in other segments) to the Intel instruction
tables.
llvm-svn: 81953
2009-09-15 23:37:51 +00:00
Chris Lattner
249d5fe8b9
remove some horrible MAI hooks which fortunately turn out to be always empty.
...
llvm-svn: 81946
2009-09-15 23:11:32 +00:00
Chris Lattner
c06870ad45
strength reduce a call to PrintRelDirective(true).
...
llvm-svn: 81942
2009-09-15 22:58:35 +00:00
Chris Lattner
8457d8c557
add hooks to hang target-specific goop off MachineModuleInfo,
...
move MachineFunctionInfo virtual method out of line to give it
a home.
llvm-svn: 81940
2009-09-15 22:44:26 +00:00
Nate Begeman
d34c7760b3
Do not add the SVOffset to the Node CSE ID. The same pointer argument cannot have different
...
SVOffsets.
llvm-svn: 81937
2009-09-15 22:30:11 +00:00
Eric Christopher
936a41fff1
Expand on comment.
...
llvm-svn: 81928
2009-09-15 21:56:46 +00:00
Sean Callanan
4dc743b7ff
Updated comments per Eli's suggestion.
...
llvm-svn: 81923
2009-09-15 21:43:27 +00:00
Bob Wilson
9bcea11785
Convert more tests to FileCheck.
...
llvm-svn: 81915
2009-09-15 20:58:02 +00:00
Sean Callanan
e62a9a60c7
Added register-to-register ADD instructions to the
...
Intel tables, where the source operand is
specified by the R/M field and the destination
operand by the Reg field.
llvm-svn: 81914
2009-09-15 20:53:57 +00:00
Daniel Dunbar
f1b6d523e4
Drop the raw_ostream required buffer size to 1.
...
- As best I can tell, we have eliminated all the code which used to require a
larger buffer size.
llvm-svn: 81912
2009-09-15 20:31:46 +00:00
Daniel Dunbar
ee9eb09812
Remove references to obsolete -f option.
...
llvm-svn: 81911
2009-09-15 20:31:35 +00:00
Daniel Dunbar
cdf090d89f
Update llc/opt PODs to clarify they support .ll input.
...
llvm-svn: 81910
2009-09-15 20:31:28 +00:00
Daniel Dunbar
e14446813e
Fix -Asserts warning.
...
llvm-svn: 81909
2009-09-15 20:31:12 +00:00
Daniel Dunbar
3d79f78d69
lit: When finding nested test suites, check first in the execpath in case there
...
is a site configuration.
llvm-svn: 81902
2009-09-15 20:09:17 +00:00
Nate Begeman
e7fa31031b
Better solution for tracking both the original alignment of the access, and the current alignment based
...
on the source value offset. This avoids increasing the size of mem nodes.
llvm-svn: 81897
2009-09-15 19:05:41 +00:00
Jim Grosbach
6e371fc31a
Correct comment pasto
...
llvm-svn: 81896
2009-09-15 18:56:13 +00:00
Sean Callanan
3386a02b81
Added a new register class for segment registers
...
to the Intel register table.
Added 16- and 64-bit MOVs to and from the segment
registers to the Intel instruction tables.
llvm-svn: 81895
2009-09-15 18:47:29 +00:00
Dale Johannesen
d00219c590
Change the marker byte for stubs from 0xcd to 0xce (another form of
...
interrupt instruction, which shouldn't arise any other way). 0xcd is
also used by JITMemoryManager to initialize the buffer to garbage,
which means it could appear following a noreturn call even when
that is not a stub, confusing X86CompilationCallback2. PR 4929.
llvm-svn: 81888
2009-09-15 18:32:14 +00:00
Chris Lattner
0f1da52ad1
fix PR4984 by ensuring that fastisel adds properly sign extended GEP displacement
...
values to machineinstrs.
llvm-svn: 81886
2009-09-15 18:27:02 +00:00
Chris Lattner
1eac807a0b
rename test
...
llvm-svn: 81884
2009-09-15 18:23:37 +00:00
Chris Lattner
af20df0244
convert to filecheck
...
llvm-svn: 81882
2009-09-15 18:23:23 +00:00
Chris Lattner
a2f99fe0ec
add missing file
...
llvm-svn: 81881
2009-09-15 18:03:13 +00:00
Bob Wilson
a42ff3190c
Handle AddrMode4 for Thumb2 in rewriteT2FrameIndex. This occurs for
...
VLDM/VSTM instructions, and without this check, the code assumes that an
offset is allowed, as it would be with VLDR/VSTR. The asm printer,
however, silently drops the offset, producing incorrect code. Since the
address register in this case is either the stack or frame pointer, the
spill location ends up conflicting with some other stack slot or with
outgoing arguments on the stack.
llvm-svn: 81879
2009-09-15 17:56:18 +00:00
Sandeep Patel
7727a68464
Fix superreg use in ARMAsmPrinter. Approved by Anton Korobeynikov.
...
llvm-svn: 81878
2009-09-15 17:53:11 +00:00
Chris Lattner
31ba68c9af
several major improvements to the sparc backend: support for weak linkage
...
and PIC codegen. Patch by Venkatraman Govindaraju!
llvm-svn: 81877
2009-09-15 17:46:24 +00:00
Dan Gohman
78b99e3761
Teach ValueTracking how to look through GlobalAliases. GlobalAliases are
...
not folded in the constant folder because the constant folder doesn't
simplify ConstantExpr operands.
llvm-svn: 81864
2009-09-15 16:14:44 +00:00
Dan Gohman
ccdb00720e
Fix an accidental inversion of the inbounds flag.
...
llvm-svn: 81862
2009-09-15 16:00:30 +00:00
Dan Gohman
18a3644dde
When a constant's type is refined, update the constant in place
...
instead of cloning and RAUWing it.
- Make AbstractTypeUser a friend of Value so that it can offer
its subclasses a way to update a Value's type in place. This
is better than a universally visible setType method on Value,
and it's sufficient for the immediate need.
- Eliminate the constant "convert" functions. This eliminates a
lot of logic duplication, and fixes a complicated bug where a
constant can't actually be cloned during the type refinement
process because some of the types that its folder needs are
half-destroyed, being in the middle of refinement themselves.
- Move the getValType functions from being static overloaded
functions in Constants.cpp to be members of class template
specializations in ConstantsContext.h. This means that the
code ends up getting instantiated twice, however it also
makes it possible to eliminate all "convert" functions, so
it's not a big net code size increase. And if desired, the
duplicate instantiations could be eliminated with some
reorganization.
llvm-svn: 81861
2009-09-15 15:58:07 +00:00
Dan Gohman
780132aeca
Use llvm-link -S instead of using llvm-dis.
...
llvm-svn: 81860
2009-09-15 15:38:31 +00:00
Dan Gohman
98752b1ba2
Give llvm-link a -S option.
...
llvm-svn: 81859
2009-09-15 15:35:07 +00:00
Dan Gohman
5a8cf339b0
Don't bother using a PassManager just to print a Module.
...
llvm-svn: 81858
2009-09-15 15:33:42 +00:00
Dan Gohman
8d6df0783e
Restore a comment that was lost in the merge.
...
llvm-svn: 81857
2009-09-15 15:09:54 +00:00
Dan Gohman
4e86738fa7
Fix apostrophos.
...
llvm-svn: 81856
2009-09-15 15:08:33 +00:00
Nick Lewycky
85f7bd1942
Add more newlines to make up for the ones removed from the end of instructions.
...
llvm-svn: 81851
2009-09-15 07:08:25 +00:00
Evan Cheng
2baf4075de
Forgot this.
...
llvm-svn: 81850
2009-09-15 07:05:12 +00:00
Evan Cheng
c6aba09119
Another try at early partial coalescing. Identity phi source copies (their sources are defined by phi join def) are coalesced. And the phi join copy is backward copy propagated into the other copies.
...
Still miscompiling some tests. :-(
llvm-svn: 81849
2009-09-15 06:45:16 +00:00
Chris Lattner
37129ec8fc
convert to filecheck
...
llvm-svn: 81848
2009-09-15 06:34:29 +00:00
Nick Lewycky
554eac4066
Forbid arrays of function-type and structures with function-typed fields.
...
While I'm there, change code that does:
SomeTy == Type::getFooType(Context)
into:
SomeTy->getTypeID() == FooTyID
to decrease the amount of useless type creation which may involve locking, etc.
llvm-svn: 81846
2009-09-15 06:28:26 +00:00
Chris Lattner
cf3281f7d0
fix PR4963: folding insertvalue would sometimes turn a packed struct into
...
an unpacked one.
llvm-svn: 81845
2009-09-15 06:28:12 +00:00
Chris Lattner
d219c7b6ee
add a new CallGraphNode::replaceCallEdge method and use it from
...
argpromote to avoid invalidating an iterator. This fixes PR4977.
All clang tests now pass with expensive checking (on my system
at least).
llvm-svn: 81843
2009-09-15 05:40:35 +00:00
Chris Lattner
4dd9afd1be
add newline to debug dump
...
llvm-svn: 81840
2009-09-15 05:14:57 +00:00
Chris Lattner
50438771c0
make -debug-pass=Executions show information about what call graph nodes
...
are in the SCC for each execution of a CGSCC pass.
llvm-svn: 81838
2009-09-15 05:03:04 +00:00
Chris Lattner
d7ba993f2e
add some missing quotes in debug output
...
llvm-svn: 81836
2009-09-15 04:45:26 +00:00
Chris Lattner
f02eb61c69
switch scciterator to use DenseMap instead of std::map
...
llvm-svn: 81834
2009-09-15 04:37:49 +00:00
Chris Lattner
60d95bf620
this is failing on linux hosts, force a triple.
...
llvm-svn: 81833
2009-09-15 04:27:29 +00:00
Ted Kremenek
477a21a996
Remove invalid add_dependencies line to unbreak the CMake build.
...
llvm-svn: 81827
2009-09-15 04:06:36 +00:00
Mikhail Glushenkov
3b1f94a1fc
Get rid of GetProcessId in Win32/Program.inc.
...
GetProcessId was introduced only in XP. As a bonus, this change makes Program
objects copyable, since Program is now basically a PID.
llvm-svn: 81826
2009-09-15 03:39:45 +00:00
Chris Lattner
597e46632d
merge one more in.
...
llvm-svn: 81824
2009-09-15 02:27:23 +00:00
Chris Lattner
690af119fc
merge some more cmov tests into cmov.ll
...
llvm-svn: 81823
2009-09-15 02:25:21 +00:00
Chris Lattner
d65ec857d1
merge two cmov tests into one.
...
llvm-svn: 81822
2009-09-15 02:22:47 +00:00