| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'll admit I'm not entirely satisfied with this change, but it seemed
the cleanest option. Other suggestions quite welcome
The issue is that the traits specializations have static methods which
return the typedef'ed PHI_iterator type. In both the IR and MI layers
this is typedef'ed to a custom iterator class defined in an anonymous
namespace giving the types and the functions returning them internal
linkage. However, because the traits specialization is defined in the
'llvm' namespace (where it has to be, specialized template lives there),
and is in turn used in the templated implementation of the SSAUpdater.
This led to the linkage conflict that Clang now warns about.
The simplest solution to me was just to define the PHI_iterator as
a nested class inside the trait specialization. That way it still
doesn't get scoped widely, it can't be accidentally reused somewhere,
etc. This is a little gross just because nested class definitions are
a little gross, but the alternatives seem more ad-hoc.
llvm-svn: 158799
|
|
|
|
| |
llvm-svn: 148578
|
|
|
|
| |
llvm-svn: 145903
|
|
|
|
|
|
|
| |
SSAUpdater for the value from the first def may see uses of undefined values,
because the later defs will not have been updated yet.
llvm-svn: 103407
|
|
|
|
|
|
| |
MachineSSAUpdater to avoid duplicating all the code.
llvm-svn: 103060
|
|
|
|
|
|
|
| |
SSAUpdater. I'm going to try to refactor this to share most of the code
between them.
llvm-svn: 102353
|
|
|
|
| |
llvm-svn: 100215
|
|
|
|
| |
llvm-svn: 95745
|
|
|
|
|
|
|
|
|
| |
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.
llvm-svn: 95687
|
|
|
|
| |
llvm-svn: 92548
|
|
|
|
| |
llvm-svn: 90816
|
|
|
|
| |
llvm-svn: 90759
|
|
|
|
| |
llvm-svn: 90744
|
|
|
|
|
|
| |
handle it.
llvm-svn: 90566
|
|
|
|
|
|
|
|
| |
implicit_def to the end of the source block.
- When reaching value is replaced with another, update the cache as well.
llvm-svn: 90501
|
|
|
|
| |
llvm-svn: 90489
|
|
|
|
| |
llvm-svn: 90395
|
|
llvm-svn: 90353
|