Jakub Staszak
c48bbe7170
Add extra CHECK to make sure that 'or' instruction was replaced.
...
Also add an assert to avoid confusion in the code where is known that C1 <= C2.
llvm-svn: 171310
2012-12-31 18:26:42 +00:00
Rafael Espindola
c8288c103d
Fix bits check in ELFObjectFile::isSectionZeroInit().
...
Fixes PR14723.
Patch by Sami Liedes!
llvm-svn: 171309
2012-12-31 18:20:51 +00:00
Nuno Lopes
4b47f82ac2
revert r171306, since we cannot compare APInts with different bitwidths
...
llvm-svn: 171308
2012-12-31 18:01:36 +00:00
Nuno Lopes
69dcc7deec
use ValueTracking's GetPointerBaseWithConstantOffset() function instead of a local implementation
...
llvm-svn: 171307
2012-12-31 17:42:11 +00:00
Nuno Lopes
556b7de2c0
minor code simplification
...
llvm-svn: 171306
2012-12-31 17:25:24 +00:00
Rafael Espindola
278e891cb2
Use the generic dump template. Extracted from a patch by Sami Liedes.
...
llvm-svn: 171305
2012-12-31 16:53:01 +00:00
Rafael Espindola
21bd841d27
Dump sections. Extracted from a patch by Sami Liedes.
...
llvm-svn: 171304
2012-12-31 16:29:44 +00:00
Nuno Lopes
e9d6dbf7a2
add support for GlobalAlias to ObjectSizeOffsetVisitor
...
llvm-svn: 171303
2012-12-31 16:23:48 +00:00
Rafael Espindola
144af2cb4d
Print a header above the symbols. Extracted from a patch by Sami Liedes.
...
llvm-svn: 171302
2012-12-31 16:05:21 +00:00
Rafael Espindola
63d52b1e1c
Check for errors. Extracted from a patch by Sami Liedes.
...
llvm-svn: 171301
2012-12-31 15:45:31 +00:00
Rafael Espindola
ae74095255
Fix indentation. Extracted from a patch by Sami Liedes!
...
llvm-svn: 171300
2012-12-31 15:30:58 +00:00
Rafael Espindola
f4b73f9733
Style fixes in llvm-readobj.cpp. Extracted from a patch by Sami Liedes!
...
llvm-svn: 171299
2012-12-31 15:27:42 +00:00
Nuno Lopes
7ab7c02d23
add support for PHI nodes to ObjectSizeOffsetVisitor
...
llvm-svn: 171298
2012-12-31 13:52:36 +00:00
Bill Wendling
f50ea7109d
Remove dead method.
...
llvm-svn: 171295
2012-12-31 11:52:55 +00:00
Bill Wendling
e10f76c640
Add some comparison operators to compare the Attribute object with the AttrKind value.
...
llvm-svn: 171294
2012-12-31 11:51:54 +00:00
Sean Silva
6e4ebb5424
docs: Fix FIXME
...
I actually made a think-o when writing this FIXME since I wrote LangRef
but it should actually have said WritingAnLLVMBackend.
llvm-svn: 171293
2012-12-31 11:49:51 +00:00
Chandler Carruth
5473dfb099
Switch this code to a more idiomatic double using namespace directive.
...
Fix a truly odd namespace qualifier that was flat out wrong in the
process. The fully qualified namespace would have been
llvm::sys::TimeValue, llvm::TimeValue makes no sense.
llvm-svn: 171292
2012-12-31 11:45:20 +00:00
Chandler Carruth
304de3c424
Delete a cut/paste-o from r171290. Very sorry about the noise.
...
llvm-svn: 171291
2012-12-31 11:40:04 +00:00
Chandler Carruth
5412246d8b
Suppress a MSVC warning complaining about the code working as intended.
...
llvm-svn: 171290
2012-12-31 11:39:02 +00:00
Chandler Carruth
97683aa2fa
Begin sketching out the process interface.
...
The coding style used here is not LLVM's style because this is modeled
after a Boost interface and thus done in the style of a candidate C++
standard library interface. I'll probably end up proposing it as
a standard C++ library if it proves to be reasonably portable and
useful.
This is just the most basic parts of the interface -- getting the
process ID out of it. However, it helps sketch out some of the boiler
plate such as the base class, derived class, shared code, and static
factory function. It also introduces a unittest so that I can
incrementally ensure this stuff works.
However, I've not even compiled this code for Windows yet. I'll try to
fix any Windows fallout from the bots, and if I can't fix it I'll revert
and get someone on Windows to help out. There isn't a lot more that is
mandatory, so soon I'll switch to just stubbing out the Windows side and
get Michael Spencer to help with implementation as he can test it
directly.
llvm-svn: 171289
2012-12-31 11:17:50 +00:00
Chandler Carruth
c457907708
Start sketching out a roadmap for better subprocess management in the
...
LLVM libraries. Also, clean up the doxygen and formatting of the
existing interfaces.
With this change I'm calling the existing interface "legacy" because I'd
like to replace it with something much better. My end goal is to expose
a common set of interfaces for inspecting various properties of
a process, and implementations to expose those both for the current
process and for child processes. This will also expose more rich
interfaces for spawning and controling a subprocess, notably to use
system calls like wait3 and wait4 where available and gather detailed
resource usage stats about the subprocess.
My plan (discussed with Michael Spencer on IRC) is to base this loosely
around the proposed Boost.Process interface, but to implement
a relatively small subset of that functionality based around the needs
of LLVM, Clang, the Clang driver, etc.
llvm-svn: 171285
2012-12-31 09:29:16 +00:00
Chris Lattner
f5cca68c2c
Fix LICM's memory promotion optimization to preserve TBAA tags when
...
promoting a store in a loop. This was noticed when working on PR14753,
but isn't directly related.
llvm-svn: 171281
2012-12-31 08:37:17 +00:00
Chris Lattner
eeefe1bc07
teach instcombine to preserve TBAA tag when merging two stores, part of
...
PR14753
llvm-svn: 171279
2012-12-31 08:10:58 +00:00
Will Dietz
82f61bf4b6
[ubsan] Don't suggest casting to unsigned for unsigned unary minus overflow.
...
Fixed version of r171273.
llvm-svn: 171278
2012-12-31 06:36:44 +00:00
Chandler Carruth
5f8061bc36
Revert r171273 which doesn't actually compile.
...
Original commit message:
[ubsan] Don't suggest casting to unsigned for unsigned unary minus overflow.
llvm-svn: 171277
2012-12-31 06:16:47 +00:00
Chandler Carruth
e70a813b59
Don't mark variadic functions as always inline -- they cannot in fact be
...
inlined.
Patch by Saleem Abdulrasool, reviewed by Michael Spencer and Richard Smith.
llvm-svn: 171276
2012-12-31 06:09:54 +00:00
Chandler Carruth
3036ab26e3
Add a simple .arcconfig to make using the 'arc' commandline tool and the
...
phabricator code review site easier with libc++.
llvm-svn: 171275
2012-12-31 05:59:45 +00:00
Nico Weber
965368743e
Fix minor copy-pasto. No functionality change.
...
llvm-svn: 171274
2012-12-31 02:59:14 +00:00
Will Dietz
d6cd3203f6
[ubsan] Don't suggest casting to unsigned for unsigned unary minus overflow.
...
llvm-svn: 171273
2012-12-31 02:20:55 +00:00
Jakub Staszak
f584977df2
Grammo.
...
llvm-svn: 171272
2012-12-31 01:40:44 +00:00
Bill Wendling
6e95ae803a
Remove the getAttributesAtIndex and getNumAttrs methods in favor of using the getAttrSomewhere predicate. This prevents the uses of 'Attribute' as a collection of attributes.
...
llvm-svn: 171271
2012-12-31 00:49:59 +00:00
Jakub Staszak
ea2b9b9d67
Transform (A == C1 || A == C2) into (A & ~(C1 ^ C2)) == C1
...
if C1 and C2 differ only with one bit.
Fixes PR14708.
llvm-svn: 171270
2012-12-31 00:34:55 +00:00
Nico Weber
a7c7e60764
Remove some remnants of OwningExprResult / OwningStmtResult.
...
These got deleted late 2010 during the Actions/Sema unification.
No functionality change.
llvm-svn: 171269
2012-12-31 00:28:03 +00:00
Nico Weber
a48b6c2bba
Simplify. No functionality change.
...
llvm-svn: 171268
2012-12-30 23:36:56 +00:00
Rafael Espindola
ea7537f2a2
Don't warn on unused member functions that are extern because of a typedef.
...
llvm-svn: 171267
2012-12-30 21:42:26 +00:00
Dmitri Gribenko
58d64e2bb1
Formatter: parse and format inline namespaces like regular namespaces
...
This changes formatting from:
inline namespace X {
class A {
};
}
to:
inline namespace X {
class A {
};
}
llvm-svn: 171266
2012-12-30 21:27:25 +00:00
Will Dietz
2a5f569d88
[ubsan] Update test now that check recovery is default and has driver flag.
...
llvm-svn: 171265
2012-12-30 20:53:39 +00:00
Will Dietz
3676d56b71
[ubsan] Recover by default, use -fno-sanitize-recover to disable.
...
llvm-svn: 171264
2012-12-30 20:53:28 +00:00
Rafael Espindola
a5c892058c
Use hasCLanguageLinkage when warning about non C return types.
...
llvm-svn: 171263
2012-12-30 20:40:41 +00:00
Dmitri Gribenko
10af67a9c3
Comment lexing: replace manual comparison with StringRef::find_first_of
...
This gives an about 1.8% improvement on Clang bootstrap with -Wdocumentation
llvm-svn: 171262
2012-12-30 19:45:46 +00:00
Hal Finkel
6dbdd4307b
Support ppcf128 in SelectionDAG::getConstantFP
...
Fixes pr14751.
Patch by Kai; Thanks!
llvm-svn: 171261
2012-12-30 19:03:32 +00:00
Rafael Espindola
5cab029e4b
Don't get confused if a extern "C" builtin function is redeclared without
...
the extern "C".
llvm-svn: 171260
2012-12-30 17:23:09 +00:00
Nuno Lopes
b6ad98224a
convert a bunch of callers from DataLayout::getIndexedOffset() to GEP::accumulateConstantOffset().
...
The later API is nicer than the former, and is correct regarding wrap-around offsets (if anyone cares).
There are a few more places left with duplicated code, which I'll remove soon.
llvm-svn: 171259
2012-12-30 16:25:48 +00:00
Dmitri Gribenko
12be928dfb
Documentation: add a section to prevent spurious test failures like the one
...
fixed in r171243.
llvm-svn: 171258
2012-12-30 14:51:03 +00:00
Bill Wendling
749a43d874
Use the predicate methods off of AttributeSet instead of Attribute.
...
llvm-svn: 171257
2012-12-30 13:50:49 +00:00
Bill Wendling
74dba875e2
Remove the Function::getRetAttributes method in favor of using the AttributeSet accessor method.
...
llvm-svn: 171256
2012-12-30 13:01:51 +00:00
Bill Wendling
94dcaf8e2b
Remove Function::getParamAttributes and use the AttributeSet accessor methods instead.
...
llvm-svn: 171255
2012-12-30 12:45:13 +00:00
Bill Wendling
5e85be4326
Remove the Function::getFnAttributes method in favor of using the AttributeSet
...
directly.
This is in preparation for removing the use of the 'Attribute' class as a
collection of attributes. That will shift to the AttributeSet class instead.
llvm-svn: 171254
2012-12-30 10:32:17 +00:00
Bill Wendling
698e84fc4f
Remove the Function::getFnAttributes method in favor of using the AttributeSet
...
directly.
This is in preparation for removing the use of the 'Attribute' class as a
collection of attributes. That will shift to the AttributeSet class instead.
llvm-svn: 171253
2012-12-30 10:32:01 +00:00
Bill Wendling
6190254e0f
s/hasAttribute/contains/g to be more consistent with other method names.
...
llvm-svn: 171252
2012-12-30 09:17:46 +00:00