- Feb 09, 2016
-
-
Chris Bieneman authored
This is in response to silvas' post-commit suggestion. llvm-svn: 260203
-
Marshall Clow authored
llvm-svn: 260202
-
Chris Bieneman authored
This cache file can be used to generate a 3-stage clang build. You can configure using the following CMake command: cmake -C <path to clang>/cmake/caches/3-stage.cmake -G Ninja <path to llvm> You can then run "ninja stage3-clang" to build stage1, stage2 and stage3 clangs. This is useful for finding non-determinism the compiler by verifying that stage2 and stage3 are identical. llvm-svn: 260201
-
Xinliang David Li authored
llvm-svn: 260200
-
Enrico Granata authored
This is because PyThreadState_Get() assumes a non-NULL thread state and crashes otherwise; but PyThreadState_GET is just a shortcut (in non-Python-debugging builds) for the global variable that holds the thread state The behavior of CTRL+C is slightly more erratic than one would like. CTRL+C in the middle of execution of Python code will cause that execution to be interrupted (e.g. time.sleep(1000)), but a CTRL+C at the prompt will just cause a KeyboardInterrupt and not exit the interpreter - worse, it will only trigger the exception once one presses ENTER. None of this is optimal, of course, but I don't have a lot of time to appease the Python deities with the proper spells right now, and fixing the crasher is already a good thing in and of itself llvm-svn: 260199
-
Xinliang David Li authored
llvm-svn: 260198
-
Teresa Johnson authored
Summary: Move the function renaming logic into the Function class, and the MD5Hash routine into the MD5 header. This will enable these routines to be shared with ThinLTO, which will be changed to store the MD5 hash instead of full function name in the combined index for significant size reductions. And using the same function naming for locals in the function index facilitates future integration with indirect call value profiles. Reviewers: davidxl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17006 llvm-svn: 260197
-
Nick Lewycky authored
Use std::forward to make ErrorOr<T> constructible from a value that has a user-defined conversion to T. No functionality change intended. llvm-svn: 260196
-
Saleem Abdulrasool authored
Change the no_sanitize attribute to use the reserved spelling. llvm-svn: 260195
-
Reid Kleckner authored
Fixes PR26490 llvm-svn: 260194
-
Sanjoy Das authored
In general, memory restrictions on a called function (e.g. readnone) cannot be transferred to a CallSite that has operand bundles. It is possible to make this inference smarter, but lets fix the behavior to be correct first. llvm-svn: 260193
-
Siva Chandra authored
Reviewers: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17014 llvm-svn: 260192
-
Pete Cooper authored
Also added the defaults for whether to generate this load command, which the cmdline options are able to override. There was also a difference to ld64 which is fixed here in that ld64 will generate an empty data in code command if requested. rdar://problem/24472630 llvm-svn: 260191
-
Richard Smith authored
compiler-specific issues. Instead, repeat an 'operator delete' definition in each derived class that is actually deleted, and give up on the static type safety of an error when sized delete is accidentally used on a type derived from TrailingObjects. llvm-svn: 260190
-
Richard Smith authored
llvm-svn: 260189
-
Pete Cooper authored
This load command generates data in the LINKEDIT section which is a list of ULEB128 delta's to all of the functions in the __text section. It is then 0 terminated and pointer aligned to pad. ld64 exposes the -function-starts and no-function-starts cmdline options to override behaviour from the defaults based on file types. rdar://problem/24472630 llvm-svn: 260188
-
David L Kreitzer authored
Differential Revision: http://reviews.llvm.org/D17005 llvm-svn: 260186
-
Pete Cooper authored
This was a bug in our handling of these symbols compared to ld64. Turns out that ld64 always marks these symbols as being not dead stripped. llvm-svn: 260185
-
Pete Cooper authored
The atom content type enum is used as a tie breaker to sort atoms. In that case, we want MachHeader to be before typeCode as it really will be before the code in the final executable. Test case to follow in the next commit or two. llvm-svn: 260184
-
Sanjoy Das authored
Summary: Passes that call `getAnalysisIfAvailable<T>` also need to call `addUsedIfAvailable<T>` in `getAnalysisUsage` to indicate to the legacy pass manager that it uses `T`. This contract was being violated by passes that used `createLegacyPMAAResults`. This change fixes this by exposing a helper in AliasAnalysis.h, `addUsedAAAnalyses`, that is complementary to createLegacyPMAAResults and does the right thing when called from `getAnalysisUsage`. Reviewers: chandlerc Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D17010 llvm-svn: 260183
-
Sanjoy Das authored
Summary: createLegacyPMAAResults is only called by CGSCC and Module passes, so the call to getAnalysisIfAvailable<SCEVAAWrapperPass>() never succeeds (SCEVAAWrapperPass is a function pass). Reviewers: chandlerc Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D17009 llvm-svn: 260182
-
Richard Smith authored
being called with the wrong size: convert CGFunctionInfo to use TrailingObjects and ask TrailingObjects to provide a working 'operator delete' for us. llvm-svn: 260181
-
Richard Smith authored
This fixes undefined behavior in C++14 due to the size of the object being deleted being different from sizeof(dynamic type) when it is allocated with trailing objects. MSVC seems to have several bugs around using-declarations changing the access of a member inherited from a base class, so use forwarding functions instead of using-declarations to make TrailingObjects::operator delete accessible where desired. llvm-svn: 260180
-
David Blaikie authored
llvm-svn: 260179
-
Zachary Turner authored
This removes the following decorators: * skipIfI386 * expectedFailureI386 * expectedFailurex86_64 * skipIfArch * skipUnlessArch * skipUnlessI386 And other related decorators. All code using those decorators is updated to use expectedFailureAll and skipIf llvm-svn: 260178
-
Zachary Turner authored
llvm-svn: 260177
-
Zachary Turner authored
Convert everything over to using skipIf. llvm-svn: 260176
-
Evgeniy Stepanov authored
llvm-svn: 260175
-
Wei Mi authored
IndVarSimplify assumes scAddRecExpr to be expanded in literal form instead of canonical form by calling disableCanonicalMode after it creates SCEVExpander. When CanonicalMode is disabled, SCEVExpander::expand should always return PHI node for scAddRecExpr. r259736 broke the assumption. The fix is to let SCEVExpander::expand skip the reuse Value logic if CanonicalMode is false. In addition, Besides IndVarSimplify, LSR pass also calls disableCanonicalMode before doing rewrite. We can remove the original check of LSRMode in reuse Value logic and use CanonicalMode instead. llvm-svn: 260174
-
Davide Italiano authored
llvm-svn: 260173
-
Eric Fiselier authored
llvm-svn: 260172
-
Rong Xu authored
r260146 | xur | 2016-02-08 13:07:46 -0800 (Mon, 08 Feb 2016) | 13 lines [PGO] Differentiate Clang instrumentation and IR level instrumentation profiles llvm-svn: 260170
-
Michael Zolotukhin authored
Summary: Unrolling Analyzer is already pretty complicated, and it becomes harder and harder to exercise it with usual IR tests, as with them we can only check the final decision: whether the loop is unrolled or not. This change factors this framework out from LoopUnrollPass to analyses, which allows to use unit tests. The change itself is supposed to be NFC, except adding a couple of tests. I plan to add more tests as I add new functionality and find/fix bugs. Reviewers: chandlerc, hfinkel, sanjoy Subscribers: zzheng, sanjoy, llvm-commits Differential Revision: http://reviews.llvm.org/D16623 llvm-svn: 260169
-
Simon Pilgrim authored
As discussed on PR26491, this patch adds support for lowering v4f32 shuffles to the MOVLHPS/MOVHLPS instructions. It also adds support for memory folding with their MOVLPS/MOVHPS load equivalents. This first patch only really helps SSE1 targets as SSE2+ targets will widen the shuffle mask and use v2f64 equivalents (although they still combine to MOVLHPS/MOVHLPS for v2f64 splats). This will have to be addressed in a future patch, most likely when we add support for binary target shuffle combines. Differential Revision: http://reviews.llvm.org/D16956 llvm-svn: 260168
-
Evgeniy Stepanov authored
llvm-svn: 260167
-
Davide Italiano authored
llvm-svn: 260166
-
Evgeniy Stepanov authored
llvm-svn: 260165
-
Andrew Kaylor authored
Differential Revision: http://reviews.llvm.org/D16831 llvm-svn: 260164
-
Evgeniy Stepanov authored
llvm-svn: 260163
-
Justin Bogner authored
In order for recent gcov versions to read the coverage data, you have to use UseCfgChecksum=true and FunctionNamesInData=false options for coverage profiling pass. This is because gcov is expecting the function section in .gcda to be exactly 3 words in size, containing ident and two checksums. While llvm-cov is compatible with UseCfgChecksum=true, it always expects a function name in .gcda function sections (it's not compatible with FunctionNamesInData=false). Thus it's currently impossible to generate one set of coverage files that works with both gcov and llvm-cov. This change fixes the reading of coverage information to only read the function name if it's present. Patch by Arseny Kapoulkine. Thanks! llvm-svn: 260162
-