| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
Spotted by Eli Bendersky.
llvm-svn: 174143
|
| |
|
|
|
|
|
|
| |
Drive by fix. I noticed some missing logic that might bite future
users. This shouldn't affect the final output on currently modeled
targets.
llvm-svn: 174142
|
| |
|
|
| |
llvm-svn: 174141
|
| |
|
|
|
|
|
|
|
|
|
| |
Introduces these negation forms explicitly and uses them to control a new
"altivec" target feature for PowerPC. This allows avoiding generating
Altivec instructions on processors that support Altivec.
The new test case verifies that the Altivec "lvx" instruction is not
used when -fno-altivec is present on the command line.
llvm-svn: 174140
|
| |
|
|
|
|
|
|
|
| |
Remove "IsMSDeclspec" argument from Align attribute since the arguments in Attr.td should
only model those appear in source code. Introduce attribute Accessor, and teach TableGen
to generate syntax kind accessors for Align attribute, and use those accessors to decide
if an alignment attribute is a declspec attribute.
llvm-svn: 174133
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 174132
|
| |
|
|
| |
llvm-svn: 174131
|
| |
|
|
| |
llvm-svn: 174130
|
| |
|
|
|
|
| |
A bit of cleanup in the heap module.
llvm-svn: 174129
|
| |
|
|
| |
llvm-svn: 174128
|
| |
|
|
| |
llvm-svn: 174127
|
| |
|
|
| |
llvm-svn: 174126
|
| |
|
|
|
|
| |
hosts to eliminate "CommentXMLValid".
llvm-svn: 174124
|
| |
|
|
|
|
| |
attributes from an AttrBuilder.
llvm-svn: 174123
|
| |
|
|
|
|
|
|
|
|
|
|
| |
remaining use of AliasAnalysis concepts such as isIdentifiedObject to
prove pointer inequality.
@external_compare in test/Transforms/InstSimplify/compare.ll shows a simple
case where a noalias argument can be equal to a global variable address, and
while AliasAnalysis can get away with saying that these pointers don't alias,
instsimplify cannot say that they are not equal.
llvm-svn: 174122
|
| |
|
|
|
|
| |
have any effect. Spotted by Eli in review, thanks!!!
llvm-svn: 174121
|
| |
|
|
|
|
| |
in a nice way.
llvm-svn: 174120
|
| |
|
|
|
|
|
| |
be equal, since there's nothing preventing a caller from correctly predicting
the stack location of an alloca.
llvm-svn: 174119
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
infrastructure on MCStreamer to test for whether there is an
MCELFStreamer object available.
This is just a cleanup on the AsmPrinter side of things, moving ad-hoc
tests of random APIs to a direct type query. But the AsmParser
completely broken. There were no tests, it just blindly cast its
streamer to an MCELFStreamer and started manipulating it.
I don't have a test case -- this actually failed on LLVM's own
regression test suite. Unfortunately the failure only appears when the
stars, compilers, and runtime align to misbehave when we read a pointer
to a formatted_raw_ostream as-if it were an MCAssembler. =/
UBSan would catch this immediately.
Many thanks to Matt for doing about 80% of the debugging work here in
GDB, Jim for helping to explain how exactly to fix this, and others for
putting up with the hair pulling that ensued during debugging it.
llvm-svn: 174118
|
| |
|
|
|
|
|
|
|
| |
caught this, but I want that in a separate commit in case there is
a need to revert the actual functional bit as part of reverting other
patches. This way, the commits relating to just getting the RTTI bits in
place are separate from the functional changes that start using them.
llvm-svn: 174117
|
| |
|
|
|
|
| |
descriptive of what it actually is.
llvm-svn: 174116
|
| |
|
|
| |
llvm-svn: 174115
|
| |
|
|
|
|
|
| |
I hope the ASCII art delimiters are OK, since they group *groups* of commands --
that is really helpful.
llvm-svn: 174114
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
isa<> and dyn_cast<>. In several places, code is already hacking around
the absence of this, and there seem to be several interfaces that might
be lifted and/or devirtualized using this.
This change was based on a discussion with Jim Grosbach about how best
to handle testing for specific MCStreamer subclasses. He said that this
was the correct end state, and everything else was too hacky so
I decided to just make it so.
No functionality should be changed here, this is just threading the kind
through all the constructors and setting up the classof overloads.
llvm-svn: 174113
|
| |
|
|
| |
llvm-svn: 174112
|
| |
|
|
|
|
|
| |
This update coincides with r174110. That change ordered the attributes
alphabetically.
llvm-svn: 174111
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The AttrBuilder is for building a collection of attributes. The Attribute object
holds only one attribute. So it's not really useful for the Attribute object to
have a creator which takes an AttrBuilder.
This has two fallouts:
1. The AttrBuilder no longer holds its internal attributes in a bit-mask form.
2. The attributes are now ordered alphabetically (hence why the tests have changed).
llvm-svn: 174110
|
| |
|
|
|
|
|
|
| |
\headerfile command and representing it in an xml
document. Patch reviewed by Dmitri Gribenko.
// rdar://12397511
llvm-svn: 174109
|
| |
|
|
| |
llvm-svn: 174108
|
| |
|
|
|
|
| |
canBeNullNever.
llvm-svn: 174107
|
| |
|
|
| |
llvm-svn: 174106
|
| |
|
|
|
|
|
| |
The Cnt variable is adjusted (incremented) for simplification of
checking logic. The increment should not be stored in the state.
llvm-svn: 174104
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
catches uses of an extremely minor and widely-available C++ extension (which
every C++ compiler I could find supports, but EDG and Clang reject in strict
mode).
The diagnosed code pattern looks like this:
struct X {
union {
struct {
int a;
int b;
} S;
};
};
llvm-svn: 174103
|
| |
|
|
| |
llvm-svn: 174102
|
| |
|
|
| |
llvm-svn: 174101
|
| |
|
|
| |
llvm-svn: 174100
|
| |
|
|
|
|
|
| |
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174099
|
| |
|
|
|
|
|
| |
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174098
|
| |
|
|
|
|
|
| |
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174097
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This matches our behavior for autorelease pools created by +alloc. Some
people like to create autorelease pools in one method and release them
somewhere else.
If you want safe autorelease pool semantics, use the new ARC-compatible
syntax: @autoreleasepool { ... }
<rdar://problem/13121353>
llvm-svn: 174096
|
| |
|
|
|
|
|
|
|
|
| |
you happen to have stopped in it due to a crash.)
Make the message when you hit an crash while evaluating an expression a little clearer, and mention "thread return -x".
rdar://problem/13110464
llvm-svn: 174095
|
| |
|
|
| |
llvm-svn: 174094
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a re-worked version of r174048.
Given source IR:
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !14), !dbg !15
we used to generate
call void @llvm.dbg.declare(metadata !27, metadata !28), !dbg !29
!27 = metadata !{null}
With this patch, we will correctly generate
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !27), !dbg !28
Looking up %argc.addr in ValueMap will return null, since %argc.addr is already
correctly set up, we can use identity mapping.
rdar://problem/13089880
llvm-svn: 174093
|
| |
|
|
| |
llvm-svn: 174092
|
| |
|
|
| |
llvm-svn: 174091
|
| |
|
|
|
|
|
|
|
|
| |
Attributes that are strings are typically target-dependent attributes. They are
of this form in the IR:
"attr"
"attr" = "val"
llvm-svn: 174090
|
| |
|
|
|
|
| |
- Also, change the exit code to match 'sh'.
llvm-svn: 174089
|
| |
|
|
| |
llvm-svn: 174088
|
| |
|
|
|
|
| |
- Testing finds bugs, who knew.
llvm-svn: 174087
|
| |
|
|
| |
llvm-svn: 174086
|