- Nov 19, 2014
-
-
David Blaikie authored
StringSet is still a bit dodgy in that it exposes the raw iterator of the StringMap parent, which exposes the weird detail that StringSet actually has a 'value'... but anyway, this is useful for a handful of clients that want to reference the newly inserted/persistent string data in the StringSet/Map/Entry/thing. llvm-svn: 222302
-
Rui Ueyama authored
It printed out base relocation table header as table entry. This patch also makes llvm-readobj to not skip ABSOLUTE entries becuase it was confusing. llvm-svn: 222299
-
Rafael Espindola authored
The other option would be to do something like if (that.isSingleWord()) VAL = that.VAL; else pVal = that.pVal This bug was causing 86TTI::getIntImmCost to be miscompiled in a LTO bootstrap in stage2, causing the build of stage3 to fail. LLVM is getting quiet good at exploiting this. Not sure if there is anything a sanitizer could do to help llvm-svn: 222294
-
Weiming Zhao authored
llvm-svn: 222292
-
Kostya Serebryany authored
[asan] add experimental basic-block tracing to asan-coverage; also fix -fsanitize-coverage=3 which was broken by r221718 llvm-svn: 222290
-
Rui Ueyama authored
llvm-svn: 222289
-
Kostya Serebryany authored
Summary: move the code from BreakCriticalEdges::runOnFunction() into a separate utility function llvm::SplitAllCriticalEdges() so that it can be used independently. No functionality change intended. Test Plan: check-llvm Reviewers: nlewycky Reviewed By: nlewycky Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6313 llvm-svn: 222288
-
Manman Ren authored
http://lab.llvm.org:8080/green/job/clang-Rlto_master/298/ Hopefully, bot will be green. If not, we will re-submit the commit. llvm-svn: 222287
-
Matt Arsenault authored
This partially makes up for not having address spaces used for alias analysis in some simple cases. This is not yet enabled by default so shouldn't change anything yet. llvm-svn: 222286
-
Matt Arsenault authored
Assuming unmodeled side effects interferes with some scheduling opportunities. Don't put it in the base class of DS instructions since there are a few weird effecting, non load/store instructions there. llvm-svn: 222285
-
Simon Pilgrim authored
Under many circumstances the stack is not 32-byte aligned, resulting in the use of the vmovups/vmovupd/vmovdqu instructions when inserting ymm reloads/spills. This minor patch adds these instructions to the isFrameLoadOpcode/isFrameStoreOpcode helpers so that they can be correctly identified and not be treated as folded reloads/spills. This has also been noticed by http://llvm.org/bugs/show_bug.cgi?id=18846 where it was causing redundant spills - I've added a reduced test case at test/CodeGen/X86/pr18846.ll Differential Revision: http://reviews.llvm.org/D6252 llvm-svn: 222281
-
- Nov 18, 2014
-
-
Colin LeMahieu authored
llvm-svn: 222274
-
Chad Rosier authored
shift-right for booleans (i1). Arithmetic shift-right immediate with sign-/zero-extensions also works for boolean values. Update the assert and the test cases to reflect that fact. llvm-svn: 222272
-
Chad Rosier authored
shift-right for booleans (i1). Logical shift-right immediate with sign-/zero-extensions also works for boolean values. Update the assert and the test cases to reflect that fact. llvm-svn: 222270
-
Justin Bogner authored
llvm-svn: 222267
-
David Majnemer authored
We would attempt to replace an frem's operand with the same operand. This would cause InstCombine to think real work was done, causing InstCombine to enter an infinite loop. This fixes the second part of PR21576. llvm-svn: 222265
-
Colin LeMahieu authored
Renaming test files. llvm-svn: 222263
-
David Majnemer authored
This reverts commit r222203, reverting r222040 didn't end up turning the bot green. llvm-svn: 222261
-
Eric Fiselier authored
Summary: This will help in testing libc++ and libc++abi with tsan. Reviewers: samsonov Reviewed By: samsonov Subscribers: samsonov, llvm-commits Differential Revision: http://reviews.llvm.org/D6283 llvm-svn: 222258
-
Juergen Ributzka authored
Shifts also perform sign-/zero-extends to larger types, which requires us to emit an integer extend instead of a simple COPY. Related to PR21594. llvm-svn: 222257
-
Matt Arsenault authored
This should expose more of the actually used VALU instructions to the machine optimization passes. This also should help getting i1 handling into a better state. For not entirly understood reasons, this fixes the split-scalar-i64-add.ll test where a 64-bit add would only partially be moved to the VALU resulting in use of undefined VCC. llvm-svn: 222256
-
Juergen Ributzka authored
"optimizeCompareInstr" converts compares (cmp/cmn) into plain sub/add instructions when the flags are not used anymore. This conversion is valid for most instructions, but not all. Some instructions that don't set the flags (e.g. sub with immediate) can set the SP, whereas the flag setting version uses the same encoding for the "zero" register. Update the code to also check for the return register before performing the optimization to make sure that a cmp doesn't suddenly turn into a sub that sets the stack pointer. I don't have a test case for this, because it isn't easy to trigger. llvm-svn: 222255
-
Owen Anderson authored
Patch by Daniil Troshkov! llvm-svn: 222254
-
Tom Stellard authored
llvm-svn: 222253
-
Chad Rosier authored
flags are cleared. The reassociation pass was just reordering the leaf nodes in the previous test cases. llvm-svn: 222250
-
Colin LeMahieu authored
Adding test to show correct instruction selection and encoding. llvm-svn: 222249
-
Chad Rosier authored
variable. NFC. llvm-svn: 222248
-
Juergen Ributzka authored
This change emits a COPY for a shift-immediate with a "zero" shift value. This fixes PR21594 where we emitted a shift instruction with an incorrect immediate operand. llvm-svn: 222247
-
Jozef Kolek authored
llvm-svn: 222244
-
Philip Reames authored
EarlyCSE is giving up on the current instruction immediately when it recognizes that the current instruction makes a previous store trivially dead. There's no reason to do this. Once the previous store has been deleted, it's perfectly legal to remember the value of the current store (for value forwarding) and the fact the store occurred (it could be dead too!). Reviewed by: Hal Differential Revision: http://reviews.llvm.org/D6301 llvm-svn: 222241
-
Manman Ren authored
llvm-svn: 222239
-
NAKAMURA Takumi authored
MSVC Runtime detects "Assertion failed: vector iterator not incrementable" llvm-svn: 222233
-
David Majnemer authored
It is impossible for (x & INT_MAX) == 0 && x == INT_MAX to ever be true. While this sort of reasoning should normally live in InstSimplify, the machinery that derives this result is not trivial to split out. llvm-svn: 222230
-
David Majnemer authored
No functional change intended. llvm-svn: 222229
-
Justin Bogner authored
llvm-svn: 222223
-
Justin Bogner authored
- Make CallGraphSCCPass's paragraph about doFinalization refer to runOnSCC instead of runOnFunction, since that's what it's about. - Fix a reference in the FunctionPass paragraph. llvm-svn: 222222
-
Frederic Riss authored
Usually global variables are in a retain list and instanciated before any call to constructImportedEntityDIE is made. This isn't true for forward declarations though. The testcase for this change is generated by a clang patched to emit such forward declarations (patch at http://reviews.llvm.org/D6173 which will land soon). The updated testcase tests more than just global variables, it now tests every type of 'using' clause we support. llvm-svn: 222217
-
David Majnemer authored
We claimed that we were printing the Subystem field when we were actually printing the Characteristics field. llvm-svn: 222216
-
Hans Wennborg authored
llvm-svn: 222215
-
David Majnemer authored
I added a pessimization in r217102 to prevent miscompiles when the incremented induction variable was used in a comparison; it would be poison. Try to use the incremented induction variable more often when we can be sure that the increment won't end in poison. Differential Revision: http://reviews.llvm.org/D6222 llvm-svn: 222213
-