Go to the documentation of this file.
15 #ifndef LLVM_SUPPORT_PATH_H
16 #define LLVM_SUPPORT_PATH_H
This is an optimization pass for GlobalISel generic memory operations.
friend const_iterator end(StringRef path)
Get end iterator over path.
bool replace_path_prefix(SmallVectorImpl< char > &Path, StringRef OldPrefix, StringRef NewPrefix, Style style=Style::native)
Replace matching path prefix with another path.
bool home_directory(SmallVectorImpl< char > &result)
Get the user's home directory.
StringRef extension(StringRef path, Style style=Style::native)
Get extension.
ptrdiff_t operator-(const reverse_iterator &RHS) const
Difference in bytes between this and RHS.
reverse_iterator rbegin(StringRef path, Style style=Style::native)
Get reverse begin iterator over path.
StringRef remove_leading_dotslash(StringRef path, Style style=Style::native)
Remove redundant leading "./" pieces and consecutive separators.
bool is_absolute(const Twine &path, Style style=Style::native)
Is path absolute?
std::string convert_to_slash(StringRef path, Style style=Style::native)
Replaces backslashes with slashes if Windows.
reference operator*() const
const_iterator end(StringRef path)
Get end iterator over path.
const_iterator begin(StringRef path, Style style=Style::native)
Get begin iterator over path.
void native(const Twine &path, SmallVectorImpl< char > &result, Style style=Style::native)
Convert path to the native form.
bool user_config_directory(SmallVectorImpl< char > &result)
Get the directory where packages should read user-specific configurations.
ptrdiff_t operator-(const const_iterator &RHS) const
Difference in bytes between this and RHS.
bool cache_directory(SmallVectorImpl< char > &result)
Get the directory where installed packages should put their machine-local cache, e....
=0.0 ? 0.0 :(a > 0.0 ? 1.0 :-1.0) a
It looks like we only need to define PPCfmarto for these because according to these instructions perform RTO on fma s result
void append(SmallVectorImpl< char > &path, const Twine &a, const Twine &b="", const Twine &c="", const Twine &d="")
Append to path.
void make_preferred(SmallVectorImpl< char > &path, Style style=Style::native)
For Windows path styles, convert path to use the preferred path separators.
bool has_extension(const Twine &path, Style style=Style::native)
Has extension?
bool has_parent_path(const Twine &path, Style style=Style::native)
Has parent path?
StringRef root_path(StringRef path, Style style=Style::native)
Get root path.
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int b
bool has_stem(const Twine &path, Style style=Style::native)
Has stem?
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int int c
reference operator*() const
constexpr bool is_style_posix(Style S)
Check if S uses POSIX path rules.
bool remove_dots(SmallVectorImpl< char > &path, bool remove_dot_dot=false, Style style=Style::native)
In-place remove any '.
bool operator==(const reverse_iterator &RHS) const
StringRef get_separator(Style style=Style::native)
Return the preferred separator for this platform.
StringRef root_directory(StringRef path, Style style=Style::native)
Get root directory.
void replace_extension(SmallVectorImpl< char > &path, const Twine &extension, Style style=Style::native)
Replace the file extension of path with extension.
CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of ...
friend reverse_iterator rend(StringRef path)
Get reverse end iterator over path.
bool operator==(const const_iterator &RHS) const
friend const_iterator begin(StringRef path, Style style)
Get begin iterator over path.
StringRef parent_path(StringRef path, Style style=Style::native)
Get parent path.
reverse_iterator & operator++()
bool has_filename(const Twine &path, Style style=Style::native)
Has filename?
bool has_relative_path(const Twine &path, Style style=Style::native)
Has relative path?
StringRef - Represent a constant reference to a string, i.e.
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
friend reverse_iterator rbegin(StringRef path, Style style)
Get reverse begin iterator over path.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
StringRef root_name(StringRef path, Style style=Style::native)
Get root name.
bool has_root_name(const Twine &path, Style style=Style::native)
Has root name?
void system_temp_directory(bool erasedOnReboot, SmallVectorImpl< char > &result)
Get the typical temporary directory for the system, e.g., "/var/tmp" or "C:/TEMP".
bool has_root_path(const Twine &path, Style style=Style::native)
Has root path?
bool is_absolute_gnu(const Twine &path, Style style=Style::native)
Is path absolute using GNU rules?
bool is_separator(char value, Style style=Style::native)
Check whether the given char is a path separator on the host OS.
const_iterator & operator++()
StringRef filename(StringRef path, Style style=Style::native)
Get filename.
constexpr bool is_style_windows(Style S)
Check if S uses Windows path rules.
void remove_filename(SmallVectorImpl< char > &path, Style style=Style::native)
Remove the last component from path unless it is the root dir.
reverse_iterator rend(StringRef path)
Get reverse end iterator over path.
bool has_root_directory(const Twine &path, Style style=Style::native)
Has root directory?
StringRef relative_path(StringRef path, Style style=Style::native)
Get relative path.
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int int int d
bool is_relative(const Twine &path, Style style=Style::native)
Is path relative?
StringRef stem(StringRef path, Style style=Style::native)
Get stem.