- Mar 18, 2014
-
-
Richard Smith authored
llvm-svn: 204090
-
David Blaikie authored
Our handling of compilation directory in DwarfDebug was broken (incorrectly using the 'last' compilation directory (that of the last CU in the metadata list) for all function emission in any CU). By moving this handling down into MCDwarf the issue is fixed as the compilation dir is tracked correctly per line table. llvm-svn: 204089
-
Duncan P. N. Exon Smith authored
Buildbots are having trouble finding fputc(), and I can't figure out why. Reverting to investigate. llvm-svn: 204088
-
Jim Ingham authored
llvm-svn: 204087
-
Richard Smith authored
llvm-svn: 204086
-
- Mar 17, 2014
-
-
Matt Arsenault authored
llvm-svn: 204085
-
Duncan P. N. Exon Smith authored
llvm-svn: 204084
-
Duncan P. N. Exon Smith authored
<rdar://problem/15943240> llvm-svn: 204083
-
Richard Smith authored
declared in different namespaces in the same inline namespace set. llvm-svn: 204082
-
Fariborz Jahanian authored
warnings (warning or lack there of) as well since blocks are another pattern for envoking other designated initializers. // rdar://16323233 llvm-svn: 204081
-
Duncan P. N. Exon Smith authored
In instrumentation-based profiling, we need a set of data structures to represent the counters. Previously, these were built up during static initialization. Now, they're shoved into a specially-named section so that they show up as an array. As a consequence of the reorganizing symbols, instrumentation data structures for linkonce functions are now correctly coalesced. This is the first step in a larger project to minimize runtime overhead and dependencies in instrumentation-based profilng. The larger picture includes removing all initialization overhead and making the dependency on libc optional. <rdar://problem/15943240> llvm-svn: 204080
-
Duncan P. N. Exon Smith authored
In instrumentation-based profiling, we need a set of data structures to represent the counters. Previously, these were built up during static initialization. Now, they're shoved into a specially-named section so that they show up as an array. As a consequence of the reorganizing symbols, instrumentation data structures for linkonce functions are now correctly coalesced. This is the first step in a larger project to minimize runtime overhead and dependencies in instrumentation-based profilng. The larger picture includes removing all initialization overhead and making the dependency on libc optional. <rdar://problem/15943240> llvm-svn: 204079
-
David Majnemer authored
This is as straightforward as it sounds, a renamed from shared_mutex to shared_timed_mutex. Note that libcxx .dylib and .so files built with c++14 support need to be rebuilt. llvm-svn: 204078
-
David Majnemer authored
llvm-svn: 204077
-
Dan Gohman authored
When GlobalOpt has determined that a GlobalVariable only ever has two values, it would convert the GlobalVariable to a boolean, and introduce SelectInsts at every load, to choose between the two possible values. These SelectInsts introduce overhead and other unpleasantness. This patch makes GlobalOpt just add range metadata to loads from such GlobalVariables instead. This enables the same main optimization (as seen in test/Transforms/GlobalOpt/integer-bool.ll), without introducing selects. The main downside is that it doesn't get the memory savings of shrinking such GlobalVariables, but this is expected to be negligible. llvm-svn: 204076
-
Owen Anderson authored
the MachineRegisterInfo iterators are compatible with it. llvm-svn: 204075
-
Owen Anderson authored
llvm-svn: 204074
-
Kevin Enderby authored
llvm-svn: 204073
-
Matt Arsenault authored
llvm-svn: 204072
-
Matt Arsenault authored
llvm-svn: 204071
-
Owen Anderson authored
llvm-svn: 204070
-
David Blaikie authored
See r204027 for the precursor to this that applied to asm debug info. This required some non-obvious API changes to handle the case of asm output (we never go asm->asm so this didn't come up in r204027): the modification of the file/directory name by MCDwarfLineTableHeader needed to be reflected in the MCAsmStreamer caller so it could print the appropriate .file directive, so those StringRef parameters are now non-const ref (in/out) parameters rather than just const. llvm-svn: 204069
-
Aaron Ballman authored
[C++11] Replacing CGFunctionInfo arg iterators with iterator_range arguments(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 204068
-
Owen Anderson authored
llvm-svn: 204067
-
Owen Anderson authored
llvm-svn: 204066
-
Fariborz Jahanian authored
class method with the same selctor but different argument types having one of them in class extension. // rdar://16312105 llvm-svn: 204065
-
Ed Maste authored
llvm-svn: 204064
-
Adam Nemet authored
llvm-svn: 204063
-
Aaron Ballman authored
[C++11] Replacing CallArgList writeback iterators with iterator_range writebacks(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. llvm-svn: 204062
-
Aaron Ballman authored
[C++11] Replacing DeclContext iterators using_directives_begin() and using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. Also used as an opportunity to normalize the name from getUsingDirectives() to using_directives(). llvm-svn: 204061
-
Saleem Abdulrasool authored
It is unclear how it would be possible to get M to be NULL in normal scenarios. Change this to an assert rather than a runtime check as per dblakie's suggestion. llvm-svn: 204060
-
Saleem Abdulrasool authored
This performs the equivalent of a .set directive in that it creates a symbol which is an alias for another symbol or value which may possibly be yet undefined. This directive also has the added property in that it marks the aliased symbol as being a thumb function entry point, in the same way that the .thumb_func directive does. The current implementation fails one test due to an unrelated issue. Functions within .thumb sections are not marked as thumb_func. The result is that the aliasee function is not valued correctly. llvm-svn: 204059
-
Adam Nemet authored
Rather than LegalizeAction::Expand, this needs LegalizeAction::Promote to get promoted to fp_to_sint v8f32->v8i32. This is a legal operation on AVX. For that to work properly, we also need to teach the legalizer about the specific promotion required here. The default vector promotion uses bitcasting to a vector type of the same total size. We want to promote the vector element type, effectively widening the operation and then truncating the result. This is analogous to the current logic of how int_to_fp is promoted. The change also factors out some code from the int_to_fp promotion code to ValueType::widenIntegerVectorElementType. This is now shared between int_to_fp and fp_to_int. There is no longer need for the custom lowering of fp_to_sint f32->v8i16 in X86. It can now go through the new target-independent fp_to_*int promotion logic. I also checked that no other target uses Promote for these ops yet, so there shouldn't be any unexpected change in behavior. Fixes <rdar://problem/16202247> llvm-svn: 204058
-
Ed Maste authored
llvm-svn: 204057
-
Tom Stellard authored
The type of the immediates should not matter as long as the encoding is equivalent to the encoding of one of the legal inline constants. Tested-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 204056
-
Tom Stellard authored
This instructions writes to an 32-bit SGPR. This change required adding the 32-bit VCC_LO and VCC_HI registers, because the full VCC register is 64 bits. This fixes verifier errors on several of the indirect addressing piglit tests. Tested-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 204055
-
Tom Stellard authored
Added checks for number of operands and operand register classes. Tested-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 204054
-
Aaron Ballman authored
[C++11] Replacing Scope iterators using_directives_begin() and using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. llvm-svn: 204053
-
Aaron Ballman authored
[C++11] Replacing Scope iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. llvm-svn: 204052
-
Richard Smith authored
llvm-svn: 204051
-