- Jun 23, 2015
-
-
Alexander Kornienko authored
Apparently, the style needs to be agreed upon first. llvm-svn: 240390
-
Elena Demikhovsky authored
Added all intrinsics, tests for encoding, tests for intrinsics. llvm-svn: 240386
-
Justin Bogner authored
We hit undefined behaviour in some MCExpr tests when the LHS of a left shift is -1. Twos-complement semantics are completely reasonable here, so we should just do the shift in unsigned. llvm-svn: 240385
-
Justin Bogner authored
Avoid shifting a negative value by sign-extending after the shift. Fixes a couple of tests that were failing under ubsan. llvm-svn: 240381
-
Justin Bogner authored
Dissasembly tests depends on target. The problem is that it disable all tests if all targets are not compiled. This moves things around in order to get target specific code in a target specific folder. Patch by Amaury Sechet. Thanks! llvm-svn: 240380
-
Weiming Zhao authored
This patch copies the metadata of the unswitched branch to the newly crreated branch in loop unswitch pass. llvm-svn: 240378
-
Rafael Espindola authored
Thanks to Filipe Cabecinhas for noticing. llvm-svn: 240375
-
Rafael Espindola authored
This shows how two symbols at the same address are handled. llvm-svn: 240374
-
Rafael Espindola authored
I will add an explicit test in a second, but this fixes the bots. llvm-svn: 240372
-
David Majnemer authored
This came up when examining some code generated by clang's IRGen for certain member pointers. llvm-svn: 240369
-
Rafael Espindola authored
llvm-svn: 240368
-
Rafael Espindola authored
Before this would dump from the symbol start to the end of the section. llvm-svn: 240367
-
Rafael Espindola authored
I will add a second user in the next commit. llvm-svn: 240366
-
Matt Arsenault authored
llvm-svn: 240365
-
Sanjoy Das authored
Summary: That way llvm-objdump can rely on it without adding an extra dependency on CodeGen. This change duplicates the FaultKind enum and the code that serializes it to a string. I could not figure out a way to get around this without adding a new dependency to Object Reviewers: rafael, ab Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10619 llvm-svn: 240364
-
Sanjoy Das authored
llvm-svn: 240363
-
NAKAMURA Takumi authored
llvm-svn: 240362
-
Sanjay Patel authored
Currently ( D10321, http://reviews.llvm.org/rL239486 ), we can use the machine combiner pass to reassociate the following sequence to reduce the critical path: A = ? op ? B = A op X C = B op Y --> A = ? op ? B = X op Y C = A op B 'op' is currently limited to x86 AVX scalar FP adds (with fast-math on), but in theory, it could be any associative math/logic op (see TODO in code comment). This patch generalizes the pattern match to ignore the instruction that defines 'A'. So instead of a sequence of 3 adds, we now only need to find 2 dependent adds and decide if it's worth reassociating them. This generalization has a compile-time cost because we can now match more instruction sequences and we rely more heavily on the machine combiner to discard sequences where reassociation doesn't improve the critical path. For example, in the new test case: A = M div N B = A add X C = B add Y We'll match 2 reassociation patterns, but this transform doesn't reduce the critical path: A = M div N B = A add Y C = B add X We need the combiner to reject that pattern but select this: A = M div N B = X add Y C = B add A Differential Revision: http://reviews.llvm.org/D10460 llvm-svn: 240361
-
Justin Bogner authored
This version fixes a missing include that MSVC noticed and clarifies the ownership of the counter buffer that's passed to InstrProfRecord. This restores r240206, which was reverted in r240208. Patch by Betul Buyukkurt. llvm-svn: 240360
-
Justin Bogner authored
This functionality wasn't being tested. Patch by Betul Buyukkurt. llvm-svn: 240359
-
Pete Cooper authored
This is similar to Metadata.def and Instructions.def but for Value's. It will be used in upcoming commits to devirtualize the Value class. Reviewed by Duncan Exon Smith. llvm-svn: 240358
-
Evgeniy Stepanov authored
r226830 moved the declaration of Buf to a nested scope, resulting in a dangling reference (in StringRef Name), and a use-after-free. llvm-svn: 240357
-
Logan Chien authored
Remove std::move() around xvalue so that copy elision is eligible. In case that copy elision is not appliable, the c++ standard also guarantees the move semantics on xvalue. Thus, it is not necessary to wrap Args with std::move. This also silence a warning since r240345. llvm-svn: 240355
-
Adam Nemet authored
As with the previous patch, the goal is to turn the class into a general loop-versioning class. This patch removes any references to loop distribution. llvm-svn: 240352
-
David Blaikie authored
Modify ParseArgs to return the InputArgList by value - there's no need for dynamic allocation/ownership here The one caller that does anything other than keep this variable on the stack is the single use of DerivedArgList in Clang, which is a bit more interesting but can probably be cleaned up/simplified a bit further (have DerivedArgList take ownership of the InputArgList rather than needing to reference its Args indirectly) which I'll try to after this. llvm-svn: 240345
-
- Jun 22, 2015
-
-
Chris Bieneman authored
[CMake] Treating LLVM_INCLUDE_TOOLS, which is a bool, as a string to change behaviors of the build is a dirty hack. We shouldn't do it. Summary: I don't think anyone is relying on this behavior for bootstrapping (because I don't think it works), but if you do need it, speak now or forever hold your peace. Reviewers: chapuni, samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10613 llvm-svn: 240344
-
Pawel Bylica authored
llvm-svn: 240343
-
Simon Pilgrim authored
llvm-svn: 240342
-
Peter Collingbourne authored
llvm-svn: 240341
-
Joseph Tremoulet authored
I inadvertently checked these in with Windows-style line endings in r240288. llvm-svn: 240340
-
Frederic Riss authored
The reason we need to search by name rather than by Triple::ArchType is to handle subarchitecture correclty. There is no different ArchType for the x86_64h architecture (it identifies itself as x86_64), or for the various ARM subarches. The only way to get to the subarch slice in an universal binary is to search by name. This issue led to hard to debug and transient symbolication failures in Asan tests (it mostly works, because the files are very similar). This also affects the Profiling infrastucture as it is the other user of that API. Reviewers: samsonov, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10604 llvm-svn: 240339
-
Pawel Bylica authored
Fixes the regression test added in r240291. llvm-svn: 240336
-
Hans Wennborg authored
llvm-svn: 240334
-
Simon Pilgrim authored
llvm-svn: 240332
-
Tom Stellard authored
Reviewers: arsenm, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10392 llvm-svn: 240331
-
Tom Stellard authored
Reviewers: arsenm, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10390 llvm-svn: 240330
-
Tom Stellard authored
Summary: This will be used by the R600 backend. Reviewers: chandlerc, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10389 llvm-svn: 240329
-
Ahmed Bougacha authored
The _Int instructions are special, in that they operate on the full VR128 instead of FR32. The load folding then looks at MOVSS, at the user, and bails out when it sees a size mismatch. What we really know is that the rm_Int instructions don't load the higher lanes, so folding is fine. This happens for the straightforward intrinsic code, e.g.: _mm_add_ss(a, _mm_load_ss(p)); Fixes PR23349. Differential Revision: http://reviews.llvm.org/D10554 llvm-svn: 240326
-
Alex Lorenz authored
This commit adds a function that tokenizes the string containing the machine instruction. This commit also adds a struct called 'MIToken' which is used to represent the lexer's tokens. Reviewers: Sean Silva Differential Revision: http://reviews.llvm.org/D10521 llvm-svn: 240323
-
Peter Collingbourne authored
This avoids creating an unnecessary undefined reference on targets such as NVPTX that require such references to be declared in asm output. llvm-svn: 240321
-