cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/IR/Verifier.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/IR/Verifier.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/IR/Verifier.cpp
|
fe45fd084db872f9c7106c26e52c1cc8c9cba3a5 |
|
18-Nov-2013 |
Paul Robinson <paul_robinson@playstation.sony.com> |
The 'optnone' attribute means don't inline anything into this function (except functions marked always_inline). Functions with 'optnone' must also have 'noinline' so they don't get inlined into any other function. Based on work by Andrea Di Biagio. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
65c102e7fb68f78117be665dd9d4a73ef7e9f795 |
|
18-Nov-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: disable it by default. Debug info verifier is part of the verifier which is a Function Pass. Tot currently tries to pull all reachable debug info MDNodes in each function, which is too time-consuming. The correct fix seems to be separating debug info verification to its own module pass. I will disable the debug info verifier until a correct fix is found. For Bill's testing case, enabling debug info verifier increase compile time from 11s to 11m. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
9564d643d7b5ec2ea4068d7dadae88f285ae928e |
|
17-Nov-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: fix when to find debug info nodes and when to verify them. We used to collect debug info MDNodes in doInitialization and verify them in doFinalization. That is incorrect since MDNodes can be modified by passes run between doInitialization and doFinalization. To fix the problem, we handle debug info MDNodes that can be reached from a function in runOnFunction (i.e we collect those nodes by calling processDeclare, processValue and processLocation, and then verify them in runOnFunction). We handle debug info MDNodes that can be reached from named metadata in doFinalization. This is in line with how Verifier handles module-level data (they are verified in doFinalization). rdar://15472296 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
2b31b8227fb5507c26a8c4724574fc87fb90f482 |
|
17-Nov-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: enable public functions of Finder to update the type map. We used to depend on running processModule before the other public functions such as processDeclare, processValue and processLocation. We are now relaxing the constraint by adding a module argument to the three functions and letting the three functions to initialize the type map. This will be used in a follow-on patch that collects nodes reachable from a Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
3d429d80e4c062d0371fb105a87cc5260652c9b2 |
|
16-Nov-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: remove un-used argument in verifyDebugInfo. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
59d3ae6cdc4316ad338cd848251f33a236ccb36c |
|
15-Nov-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Add addrspacecast instruction. Patch by Michele Scandale! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
7af43e0ad01a5f85f9066b69faba990a72f89536 |
|
13-Nov-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't call doFinalization from verifyFunction. verifyFunction needs to call doInitialization to collect metadata and avoid crashing when verifying debug info in a function. But it should not call doFinalization since that is where the verifier will check declarations, variables and aliases, which is not desirable when one only wants to verify a function. A possible cleanup would be to split the class into a ModuleVerifier and FunctionVerifier. Issue reported by Ilia Filippov. Patch by Michael Kruse. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
19794da02cc48a772ae6f4756b14b111a627170e |
|
01-Nov-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove linkonce_odr_auto_hide. linkonce_odr_auto_hide was in incomplete attempt to implement a way for the linker to hide symbols that are known to be available in every TU and whose addresses are not relevant for a particular DSO. It was redundant in that it all its uses are equivalent to linkonce_odr+unnamed_addr. Unlike those, it has never been connected to clang or llvm's optimizers, so it was effectively dead. Given that nothing produces it, this patch just nukes it (other than the llvm-c enum value). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
2e50b8a08d40ce72ae35c73528140d3ee25209e0 |
|
31-Oct-2013 |
Andrew Trick <atrick@apple.com> |
Enable variable arguments support for intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
415b33f161537be38be213cb7cb89314173f6549 |
|
30-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add calls to doInitialization() and doFinalization() in verifyFunction() The function verifyFunction() in lib/IR/Verifier.cpp misses some calls. It creates a temporary FunctionPassManager that will run a single Verifier pass. Unfortunately, FunctionPassManager is no PassManager and does not call doInitialization() and doFinalization() by itself. Verifier does important tasks in doInitialization() such as collecting type information used to check DebugInfo metadata and doFinalization() does some additional checks. Therefore these checks were missed and debug info couldn't be verified at all, it just crashed if the function had some. verifyFunction() is currently not used in llvm unless -debug option is enabled, and in unittests/IR/VerifierTest.cpp VerifierTest had to be changed to create the function in a module from which the type debug info can be collected. Patch by Michael Kruse. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
3aa342be500a55c3bbee302f3a8db937eaa2c241 |
|
16-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for metadata representing .ident directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
1a525e8c80305777e3ca0cba0e1903fdbf04aa86 |
|
09-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a GlobalAlias::isValidLinkage to reduce code duplication. Thanks to Reid Kleckner for the suggestion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
2def17935c87f5e6b23d899567ef3dd00ed89d48 |
|
06-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for aliases with linkonce_odr. This will be used to extend constructor aliases in clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
2c9905a1f3bcf22cc2f93332cc8411d11798ba07 |
|
09-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: Use DIScopeRef for DIType::getContext. In DIBuilder, the context field of a TAG_member is updated to use the scope reference. Verifier is updated accordingly. DebugInfoFinder now needs to generate a type identifier map to have access to the actual scope. Same applies for BreakpointPrinter. processModule of DebugInfoFinder is called during initialization phase of the verifier to make sure the type identifier map is constructed early enough. We are now able to unique a simple class as demonstrated by the added testing case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
db3a9e64f856e3a233a427da1f3969fd3a65a438 |
|
09-Sep-2013 |
Bob Wilson <bob.wilson@apple.com> |
Revert patches to add case-range support for PR1255. The work on this project was left in an unfinished and inconsistent state. Hopefully someone will eventually get a chance to implement this feature, but in the meantime, it is better to put things back the way the were. I have left support in the bitcode reader to handle the case-range bitcode format, so that we do not lose bitcode compatibility with the llvm 3.3 release. This reverts the following commits: 155464, 156374, 156377, 156613, 156704, 156757, 156804 156808, 156985, 157046, 157112, 157183, 157315, 157384, 157575, 157576, 157586, 157612, 157810, 157814, 157815, 157880, 157881, 157882, 157884, 157887, 157901, 158979, 157987, 157989, 158986, 158997, 159076, 159101, 159100, 159200, 159201, 159207, 159527, 159532, 159540, 159583, 159618, 159658, 159659, 159660, 159661, 159703, 159704, 160076, 167356, 172025, 186736 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
9401181aedb28198ceac56522f997899c426fc5e |
|
07-Sep-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Remove verifier check that attribute 'builtin' is only applied to calls to functions marked 'nobuiltin'. That approach doesn't play well with LTO, and there's no harm in marking a call as 'builtin' if it was going to be a builtin regardless. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
5768bb8d77892926dff0d078b1fb08c14ea791f3 |
|
23-Aug-2013 |
Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> |
Add function attribute 'optnone'. This function attribute indicates that the function is not optimized by any optimization or code generator passes with the exception of interprocedural optimization passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
f40d578d7e4f29fcc72fc39882014e03cd3f5bd0 |
|
06-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Finder|Verifier: handle DbgLoc attached to instructions. Also remove checking of llvm.dbg.sp since it is not used in generating dwarf. Current state of Finder: DebugInfoFinder tries to list all debug info MDNodes used in a module. To list debug info MDNodes used by an instruction, DebugInfoFinder provides processDeclare, processValue and processLocation to handle DbgDeclareInst, DbgValueInst and DbgLoc attached to instructions. processModule will go through all DICompileUnits in llvm.dbg.cu and list debug info MDNodes used by the CUs. TODO: 1> Finder has a list of CUs, SPs, Types, Scopes and global variables. We need to add a list of variables that are used by DbgDeclareInst and DbgValueInst. 2> MDString fields should be null or isa<MDString> and MDNode fields should be null or isa<MDNode>. We currently use empty string or int 0 to represent null. 3> Go though Verify functions and make sure that they check field types. 4> Clean up existing testing cases to remove llvm.dbg.sp and make sure each testing case has a llvm.dbg.cu. Re-apply r187609 with fix to pass ocaml binding. vmcore.ml generates a debug location with scope being metadata !{}, in verifier we treat this as a null scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
be9f508aecfd255f47f8ea3cfe4fadbf1382ba10 |
|
02-Aug-2013 |
Eric Christopher <echristo@gmail.com> |
Temporarily revert "Debug Info Finder|Verifier: handle DbgLoc attached to instructions." in an attempt to bring back some bots. This reverts commit r187609. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
f589eef8645219dbcd1a4eec85ffb34a067534a6 |
|
01-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Finder|Verifier: handle DbgLoc attached to instructions. Also remove checking of llvm.dbg.sp since it is not used in generating dwarf. Current state of Finder: DebugInfoFinder tries to list all debug info MDNodes used in a module. To list debug info MDNodes used by an instruction, DebugInfoFinder provides processDeclare, processValue and processLocation to handle DbgDeclareInst, DbgValueInst and DbgLoc attached to instructions. processModule will go through all DICompileUnits in llvm.dbg.cu and list debug info MDNodes used by the CUs. TODO: 1> Finder has a list of CUs, SPs, Types, Scopes and global variables. We need to add a list of variables that are used by DbgDeclareInst and DbgValueInst. 2> MDString fields should be null or isa<MDString> and MDNode fields should be null or isa<MDNode>. We currently use empty string or int 0 to represent null. 3> Go though Verify functions and make sure that they check field types. 4> Clean up existing testing cases to remove llvm.dbg.sp and make sure each testing case has a llvm.dbg.cu. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
16e4ed5879da57502ea3686c79c63f86994fbe75 |
|
31-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Reject bitcasts between address spaces with different sizes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
0e29eeec278d80048de6cf6605e004bbdefaf38c |
|
23-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Finder: use processDeclare and processValue to list debug info MDNodes used by DbgDeclareInst and DbgValueInst. Another 16 testing cases failed and they are disabled with -disable-debug-info-verifier. A total of 34 cases are disabled with -disable-debug-info-verifier and will be corrected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
5f53c3be6fce77d494e82f23d5ea0b6a0144eb5d |
|
20-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Disallow global aliases to bitcast between address spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
3f49322818a3f2b9ca6fe75f49c7541c8dfb538d |
|
20-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Remove trailing whitespace, fix file path in comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
96ea03839becf151b2eda518b4bc55b84f6373bf |
|
20-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: simplify DIxxx::Verify Simplify DIxxx:Verify to not call Verify on an operand. Instead, we use DebugInfoFinder to list all MDNodes that should be a DIScope and all MDNodes that should be a DIType and we will call Verify on those lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
70968319719fbfb00a58ebcf82b1e18ec04be5be |
|
19-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
s/compiler_used/compiler.used/. We were incorrectly using compiler_used instead of compiler.used. Unfortunately the passes using the broken name had tests also using the broken name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
cd26257c85ba52d83b3febcef5c40c5153836062 |
|
19-Jul-2013 |
Manman Ren <mren@apple.com> |
Debug Info: enable verifying by default and disable testing cases that fail. 1> Use DebugInfoFinder to find debug info MDNodes. 2> Add disable-debug-info-verifier to disable verifying debug info. 3> Disable verifying for testing cases that fail (will update the testing cases later on). 4> MDNodes generated by clang can have empty filename for TAG_inheritance and TAG_friend, so DIType::Verify is modified accordingly. Note that DebugInfoFinder does not list all debug info MDNode. For example, clang can generate: metadata !{i32 786468}, which will fail to verify. This MDNode is used by debug info but not included in DebugInfoFinder. This MDNode is generated as a temporary node in DIBuilder::createFunction Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) }; MDNode::getTemporary(VMContext, TElts) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
dc89737bcdbb8f69d8ae7578bdfa904cabcfc5ed |
|
06-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Extend 'readonly' and 'readnone' to work on function arguments as well as functions. Make the function attributes pass add it to known library functions and when it can deduce it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
068acc549547bebefd40e1dffb505d1a4477572d |
|
02-Jul-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
IRVerifier: Correctly check attribute types Add missing parenthesis such that all and not only the very first attribute is checked. Testing this piece of code is not possible with an LLVM-IR test file, as the LLVM-IR parser has a similar check such that the wrong IR does not even arrive at the verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
2253a2f52f3c46ae75cd05f5885acb987bd1d6b6 |
|
27-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
Added support for the Builtin attribute. The Builtin attribute is an attribute that can be placed on function call site that signal that even though a function is declared as being a builtin, rdar://problem/13727199 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
07969dc8aed62fcd5c5760b2ec331275479f4a80 |
|
19-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Converted all references to APFloat::isNormal => APFloat::isFiniteNonZero. Turns out all the references were in llvm and not in clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
f2db8dfa84ead80df2e0ca8a56e9f0ae18d67a5e |
|
18-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
We want a string representation of the attribute, not the kind as a string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
9f8e6da019a99960af59c79e17659dd2dba8433e |
|
11-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Require members of llvm.used to be named. The effect of llvm.used is to introduce an invisible reference, so this seems a reasonable restriction. It will be used to provide an easy ordering of the entries in llvm.used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
af10fe63c6b0246635e50f480abbf3d679f69246 |
|
28-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make it explicit that GlobalAlias are ok in llvm.used. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
77226a03dca98e6237c1068f2652fe41bea7b687 |
|
24-May-2013 |
Diego Novillo <dnovillo@google.com> |
Add a new function attribute 'cold' to functions. Other than recognizing the attribute, the patch does little else. It changes the branch probability analyzer so that edges into blocks postdominated by a cold function are given low weight. Added analysis and code generation tests. Added documentation for the new attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
13aba14eb5c643234f5d756b94f30afb28f8cd5d |
|
23-Apr-2013 |
Stephen Lin <stephenwlin@gmail.com> |
Add some constraints to use of 'returned': 1) Disallow 'returned' on parameter that is also 'sret' (no sensible semantics, as far as I can tell). 2) Conservatively disallow tail calls through 'returned' parameters that also are 'zext' or 'sext' (for consistency with treatment of other zero-extending and sign-extending operations in tail call position detection...can be revised later to handle situations that can be determined to be safe). This is a new attribute that is not yet used, so there is no impact. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
97bf57d488a1bfcf7128cc2dbc695f6901ae9be7 |
|
22-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Also verify llvm.compiler_used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
cde25b435a907e7741da0c0d18953850936277c4 |
|
22-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Clarify that llvm.used can contain aliases. Also add a check for llvm.used in the verifier and simplify clients now that they can assume they have a ConstantArray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
456ca048af35163b9f52187e92a23ee0a9f059e8 |
|
20-Apr-2013 |
Stephen Lin <stephenwlin@gmail.com> |
Add CodeGen support for functions that always return arguments via a new parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
bb1b63c48397a3bac5d00f2ac9d33cc14efd714c |
|
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
This patch addresses two cleanup issues: 1. Verify::VerifyParameterAttrs in "lib/IR/Verifier.cpp" and AttrBuilder::removeFunctionOnlyAttrs in "lib/IR/Attributes.cpp" (only called by Verify::VerifyFunctionAttrs) separately maintained a list of function-only attribute types. I've consolidated the logic into a new function used for both cases in "lib/IR/Verifier.cpp", so this logic is in one place (other than the AsmParser front-end) 2. Various functions in "lib/IR/Verifier.cpp" passed AttributeSet around by reference needlessly, as it's just a handle to an immutable pimpl body. Patch by Stephen Lin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
8eec41fc778e99d42172a7f6de76faa43a6d8847 |
|
26-Feb-2013 |
Kostya Serebryany <kcc@google.com> |
Unify clang/llvm attributes for asan/tsan/msan (LLVM part) These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode) - rename thread_safety => sanitize_thread - rename no_uninitialized_checks -> sanitize_memory CLANG: - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis)) - add __attribute__((no_sanitize_thread)) - add __attribute__((no_sanitize_memory)) for S in address thread memory If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not set llvm attribute sanitize_S git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
143d46476cdcf5b88b9ee18ebd799e5820a2db0e |
|
22-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Implement the NoBuiltin attribute. The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should not treat the callee function as a built-in function. I.e., it shouldn't try to replace that function with different code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
ab39afa9d9b99c61842c8e3d0eb706bd16efdcf3 |
|
11-Feb-2013 |
Kostya Serebryany <kcc@google.com> |
[tsan/msan] adding thread_safety and uninitialized_checks attributes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
87de71cb9f12d874e88d4f314ab245985c1b36bc |
|
10-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add 'empty' query methods to the builder and use them in the verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
8ed701da9aa388c078cc6aecac2fe355974c90d2 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make the AttrBuilder creation method of Attribute private so that people won't use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
b96129dd4856a5473c52daceaabdfd2262bd96f2 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert for now: --- Reverse-merging r174010 into '.': U include/llvm/IR/Attributes.h U lib/IR/Verifier.cpp U lib/IR/Attributes.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
c6077eff8b9963b59de21e5d1dfae7a6ea75da36 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the AttrBuilder version of the Attribute::get function. The AttrBuilder is there to build up multiple attributes. The Attribute class represents only one attribute at a time. So remove this unnecessary builder creator method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
e74365462a39529ae48ef4d34ec76b4543b8ea29 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert typeIncompatible to return an AttributeSet. There are still places which treat the Attribute object as a collection of attributes. I'm systematically removing them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
254aed5e22a36effb1e1b9e8d03f8cd5e9bb7586 |
|
30-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Attempt to fix dragonegg. Use the number of slots to determine if the AttributeSet has attributes or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
8e47daf2858e980210f3e1f007036b24da342c29 |
|
26-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove some introspection functions. The 'getSlot' function and its ilk allow introspection into the AttributeSet class. However, that class should be opaque. Allow access through accessor methods instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
e1f95db4803a48a30fc2a1d5868281a87a36fb85 |
|
25-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add an accessor method to get the slot's index. This will limit the use of AttributeWithIndex. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
a3bb665c6505ff78c29a37ca95dad1d297928791 |
|
25-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the AttributeSet query instead of the Attribute query. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
bed8059b320e273cd187b12cffb62fa147f010fe |
|
22-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use AttributeSet instead of Attribute to verify things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
956f13440a4aa0297606a4412f4aa091d931592a |
|
18-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Push some more methods down to hide the use of the Attribute class. Because the Attribute class is going to stop representing a collection of attributes, limit the use of it as an aggregate in favor of using AttributeSet. This replaces some of the uses for querying the function attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
5db391c67d0922f4ab2ba57c07def19759c801a4 |
|
16-Jan-2013 |
Daniel Dunbar <daniel@zuster.org> |
[IR] Add 'Append' and 'AppendUnique' module flag behaviors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
12bfff440700c58bc67e9f9d8f99121632022cf1 |
|
15-Jan-2013 |
Daniel Dunbar <daniel@zuster.org> |
[IR] Add verification for module flags with the "require" behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
8dd938ed179267b2a3a5206c78e89530967f45a5 |
|
15-Jan-2013 |
Daniel Dunbar <daniel@zuster.org> |
[IR] Add verifier support for llvm.module.flags. - Also, update the LangRef documentation on module flags to match the implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
4d0b4a45dc724666d5de4f2f7c2d295487e4ca3e |
|
11-Jan-2013 |
Michael Ilseman <milseman@apple.com> |
Support for half intrinsics. Pushes MMX into slower encoding path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
da704cc1e77d8314a7b116613d8f3a339aedbc19 |
|
04-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Remove unused #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|
c2c50cdcdc19a1bca993c06d13d8cdca87083ce4 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Rename VMCore directory to IR. Aside from moving the actual files, this patch only updates the build system and the source file comments under lib/... that are relevant. I'll be updating other docs and other files in smaller subsequnet commits. While I've tried to test this, but it is entirely possible that there will still be some build system fallout. Also, note that I've not changed the library name itself: libLLVMCore.a is still the library name. I'd be interested in others' opinions about whether we should rename this as well (I think we should, just not sure what it might break) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/Verifier.cpp
|