- Feb 15, 2013
-
-
Hal Finkel authored
For some basic blocks, it is possible to generate many candidate pairs for relatively few pairable instructions. When many (tens of thousands) of these pairs are generated for a single instruction group, the time taken to generate and rank the different vectorization plans can become quite large. As a result, we now cap the number of candidate pairs within each instruction group. This is done by closing out the group once the threshold is reached (set now at 3000 pairs). Although this will limit the overall compile-time impact, this may not be the best way to achieve this result. It might be better, for example, to prune excessive candidate pairs after the fact the prevent the generation of short, but highly-connected groups. We can experiment with this in the future. This change reduces the overall compile-time slowdown of the csa.ll test case in PR15222 to ~5x. If 5x is still considered too large, a lower limit can be used as the default. This represents a functionality change, but only for very large inputs (thus, there is no regression test). llvm-svn: 175251
-
Anna Zaks authored
This reverts commit 82c101153fe7b35bce48781fab038e1b8f31a7bd. llvm-svn: 175250
-
Anna Zaks authored
This reverts commit 58f20a3cbfca7384fe5e25e095f18572736a4792. llvm-svn: 175249
-
Anna Zaks authored
This reverts commit 997c6516ca161073a1d516ebca7c0ca7722f64e2. llvm-svn: 175248
-
Filipe Cabecinhas authored
If testing on Linux+clang proves it needs RTTI, wa can remove the conditionals. llvm-svn: 175242
-
Jim Ingham authored
A little cleanup. {Disable/Enable}Breakpoint actually disables/enables BreakpointSites not breakpoints, it is confusing to have it not named appropriately. Also in StopInfoMachException, we aren't testing for software or not software, just whether the thing is a breakpoint we set. So don't use "software"... llvm-svn: 175241
-
Jordan Rose authored
This just adds a very simple check that if a DerivedToBase CastExpr is operating on a value with known C++ object type, and that type is not the base type specified in the AST, then the cast is invalid and we should return UnknownVal. In the future, perhaps we can have a checker that specifies that this is illegal, but we still shouldn't assert even if the user turns that checker off. PR14872 llvm-svn: 175239
-
Bill Wendling authored
llvm-svn: 175238
-
Reed Kotler authored
not matter but makes it more gcc compatible which avoids possible subtle problems. Also, turned back on a disabled check in helloworld.ll. llvm-svn: 175237
-
Bill Wendling authored
llvm-svn: 175236
-
Bill Wendling authored
llvm-svn: 175235
-
Jordan Rose authored
...after a host of optimizations related to the use of LazyCompoundVals (our implementation of aggregate binds). Originally applied in r173951. Reverted in r174069 because it was causing hangs. Re-applied in r174212. Reverted in r174265 because it was /still/ causing hangs. If this needs to be reverted again it will be punted to far in the future. llvm-svn: 175234
-
Jordan Rose authored
This means we don't have to recompute them all later for every removeDeadSymbols check. llvm-svn: 175233
-
Jordan Rose authored
Previously, we were scanning the current store. Now, we properly scan the store that the LazyCompoundVal came from, which may have very different live symbols. llvm-svn: 175232
-
Jordan Rose authored
This is optimization only; no behavioral change. llvm-svn: 175231
-
Jordan Rose authored
Previously, whenever we had a LazyCompoundVal, we crawled through the entire store snapshot looking for bindings within the LCV's region. Now, we just ask for the subregion bindings of the lazy region and only visit those. This is an optimization (so no test case), but it may allow us to clean up more dead bindings than we were previously. llvm-svn: 175230
-
Enrico Granata authored
Daniel Malea caught an issue where calling dotest.py with an invalid directory would cause the progressbar init code to raise an exception This commit fixes it llvm-svn: 175229
-
Jordan Rose authored
This is going to be used in the next commit. While I'm here, tighten up assumptions about symbolic offset BindingKeys, and make offset calculation explicitly handle all MemRegion kinds. No functionality change. llvm-svn: 175228
-
rdar://problem/13204647Enrico Granata authored
The SEL data formatter was working hard to ensure that pointers-to-selectors could be formatted by the same block of code. In that effort, we were taking the address-of a SEL. This operation fails when the SEL lives in a register, and was causing problems. The formatter has been fixed to work correctly without assuming &selector will be a valid object. llvm-svn: 175227
-
Akira Hatanaka authored
Unfortunately, I wasn't able to create a test case that demonstrates the problem I was trying to fix with this patch. llvm-svn: 175226
-
Akira Hatanaka authored
defined and used registers. Also add a few helper functions to simplify the code. llvm-svn: 175224
-
Daniel Malea authored
- stop ignoring the error-codes in the 'error' variable - removed out-of-bounds accesses with read-only array fields such as: self.assertTrue(data2.uint8[6] == 0, 'binary 0 terminator') Since SBData wraps a (6-character) python string literal, trying to read the null-terminator raises an exception. Instead, I replaced the out-of-bounds read with a length-check. Other out-of-bounds reads (via accessor function like SBData.GetUnsignedInt8) don't throw and are OK. I just added asserts that errors are set for these negative cases. llvm-svn: 175223
-
Akira Hatanaka authored
llvm-svn: 175222
-
Joel Jones authored
assembler should also accept a two arg form, as the docuemntation specifies that the first (destination) register is optional. This patch uses TwoOperandAliasConstraint to add the two argument form. It also fixes an 80-column formatting problem in: test/MC/ARM/neon-bitwise-encoding <rdar://problem/12909419> Clang rejects ARM NEON assembly instructions llvm-svn: 175221
-
Eli Bendersky authored
llvm-svn: 175220
-
Akira Hatanaka authored
1. Define and use function terminateSearch. 2. Use MachineBasicBlock::iterator instead of MachineBasicBlock::instr_iterator. 3. Delete the line which checks whether an instruction is a pseudo. llvm-svn: 175219
-
- Feb 14, 2013
-
-
Preston Gurd authored
Patch by Tyler Nowicki. llvm-svn: 175218
-
Fariborz Jahanian authored
// rdar://13192366 llvm-svn: 175217
-
Hal Finkel authored
All instances of std::multimap have now been replaced by DenseMap<K, std::vector<V> >, and this yields a speedup of 5% on the csa.ll test case from PR15222. No functionality change intended. llvm-svn: 175216
-
Hal Finkel authored
This is another commit on the road to removing std::multimap from BBVectorize. This gives an ~1% speedup on the csa.ll test case in PR15222. No functionality change intended. llvm-svn: 175215
-
Fariborz Jahanian authored
declarations to synthesize their ivars in similar determinstic order so they are laid out in a determinstic order. // rdar://13192366 llvm-svn: 175214
-
Filipe Cabecinhas authored
llvm-svn: 175213
-
Jakub Staszak authored
llvm-svn: 175212
-
rdar://problem/13218655Greg Clayton authored
"target modules add" should resolve bundle executables, as should anything else that tries to create a module from a bundle path. llvm-svn: 175210
-
Chad Rosier authored
llvm-svn: 175209
-
Michael J. Spencer authored
This also adds a simple relocation change for dynamic executables to x86-64 ELF. llvm-svn: 175208
-
Michael J. Spencer authored
The purpose of this change is to simplify creating non-atom sections. Previously _contentType, _sectionKind and _order were used for multiple purposes and collided in places. This moves all of the Atom specific logic down into AtomSection and makes Section just have raw Elf_Shdr flags. llvm-svn: 175207
-
Dmitri Gribenko authored
directly instead of casting a pointer to an integer llvm-svn: 175206
-
Jyotsna Verma authored
This patch doesn't introduce any functionality changes. It adds some new fields to the Hexagon instruction classes and changes their layout to support instruction encoding. llvm-svn: 175205
-
Bill Wendling authored
llvm-svn: 175204
-