Skip to content

Commit a485974

Browse files
SC llvm teamSC llvm team
authored andcommitted
Merged main:08d7d1ef9a10 into amd-gfx:d8e679bf6f45
Local branch amd-gfx d8e679b Merged main:848336db8a6e into amd-gfx:a0a5f1ce3cdd Remote branch main 08d7d1e [mlir][Bazel] Add missing dependencies after aa0208d
2 parents d8e679b + 08d7d1e commit a485974

File tree

23 files changed

+732
-363
lines changed

23 files changed

+732
-363
lines changed

bolt/lib/Profile/DataAggregator.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -181,15 +181,13 @@ void DataAggregator::start() {
181181
"script -F pid,event,addr,ip",
182182
/*Wait = */false);
183183

184-
launchPerfProcess("process events",
185-
MMapEventsPPI,
186-
"script --show-mmap-events",
187-
/*Wait = */false);
184+
launchPerfProcess("process events", MMapEventsPPI,
185+
"script --show-mmap-events --no-itrace",
186+
/*Wait = */ false);
188187

189-
launchPerfProcess("task events",
190-
TaskEventsPPI,
191-
"script --show-task-events",
192-
/*Wait = */false);
188+
launchPerfProcess("task events", TaskEventsPPI,
189+
"script --show-task-events --no-itrace",
190+
/*Wait = */ false);
193191
}
194192

195193
void DataAggregator::abort() {

clang/include/clang/Basic/arm_sve.td

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1977,4 +1977,6 @@ def SVPSEL_S : SInst<"svpsel_lane_b32", "PPPm", "Pi", MergeNone, "", [], []>;
19771977
def SVPSEL_D : SInst<"svpsel_lane_b64", "PPPm", "Pl", MergeNone, "", [], []>;
19781978

19791979
def SVCNTP_COUNT : SInst<"svcntp_{d}", "n}i", "QcQsQiQl", MergeNone, "aarch64_sve_cntp_{d}", [IsOverloadNone], [ImmCheck<1, ImmCheck2_4_Mul2>]>;
1980+
1981+
defm SVREVD : SInstZPZ<"svrevd", "csilUcUsUiUl", "aarch64_sve_revd">;
19801982
}

clang/lib/Driver/ToolChains/DragonFly.cpp

Lines changed: 47 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,19 @@ using namespace clang::driver::toolchains;
2020
using namespace clang;
2121
using namespace llvm::opt;
2222

23-
/// DragonFly Tools
24-
25-
// For now, DragonFly Assemble does just about the same as for
26-
// FreeBSD, but this may change soon.
2723
void dragonfly::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
2824
const InputInfo &Output,
2925
const InputInfoList &Inputs,
3026
const ArgList &Args,
3127
const char *LinkingOutput) const {
32-
claimNoWarnArgs(Args);
28+
const auto &ToolChain = static_cast<const DragonFly &>(getToolChain());
3329
ArgStringList CmdArgs;
3430

31+
claimNoWarnArgs(Args);
32+
3533
// When building 32-bit code on DragonFly/pc64, we have to explicitly
3634
// instruct as in the base system to assemble 32-bit code.
37-
if (getToolChain().getArch() == llvm::Triple::x86)
35+
if (ToolChain.getArch() == llvm::Triple::x86)
3836
CmdArgs.push_back("--32");
3937

4038
Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
@@ -45,7 +43,7 @@ void dragonfly::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
4543
for (const auto &II : Inputs)
4644
CmdArgs.push_back(II.getFilename());
4745

48-
const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("as"));
46+
const char *Exec = Args.MakeArgString(ToolChain.GetProgramPath("as"));
4947
C.addCommand(std::make_unique<Command>(JA, *this,
5048
ResponseFileSupport::AtFileCurCP(),
5149
Exec, CmdArgs, Inputs, Output));
@@ -58,18 +56,23 @@ void dragonfly::Linker::ConstructJob(Compilation &C, const JobAction &JA,
5856
const char *LinkingOutput) const {
5957
const auto &ToolChain = static_cast<const DragonFly &>(getToolChain());
6058
const Driver &D = ToolChain.getDriver();
59+
const llvm::Triple::ArchType Arch = ToolChain.getArch();
6160
ArgStringList CmdArgs;
61+
bool Static = Args.hasArg(options::OPT_static);
62+
bool Shared = Args.hasArg(options::OPT_shared);
63+
bool Profiling = Args.hasArg(options::OPT_pg);
64+
bool Pie = Args.hasArg(options::OPT_pie);
6265

6366
if (!D.SysRoot.empty())
6467
CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
6568

6669
CmdArgs.push_back("--eh-frame-hdr");
67-
if (Args.hasArg(options::OPT_static)) {
70+
if (Static) {
6871
CmdArgs.push_back("-Bstatic");
6972
} else {
7073
if (Args.hasArg(options::OPT_rdynamic))
7174
CmdArgs.push_back("-export-dynamic");
72-
if (Args.hasArg(options::OPT_shared))
75+
if (Shared)
7376
CmdArgs.push_back("-shared");
7477
else if (!Args.hasArg(options::OPT_r)) {
7578
CmdArgs.push_back("-dynamic-linker");
@@ -81,7 +84,7 @@ void dragonfly::Linker::ConstructJob(Compilation &C, const JobAction &JA,
8184

8285
// When building 32-bit code on DragonFly/pc64, we have to explicitly
8386
// instruct ld in the base system to link 32-bit code.
84-
if (getToolChain().getArch() == llvm::Triple::x86) {
87+
if (Arch == llvm::Triple::x86) {
8588
CmdArgs.push_back("-m");
8689
CmdArgs.push_back("elf_i386");
8790
}
@@ -94,67 +97,66 @@ void dragonfly::Linker::ConstructJob(Compilation &C, const JobAction &JA,
9497

9598
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles,
9699
options::OPT_r)) {
97-
if (!Args.hasArg(options::OPT_shared)) {
98-
if (Args.hasArg(options::OPT_pg))
99-
CmdArgs.push_back(
100-
Args.MakeArgString(getToolChain().GetFilePath("gcrt1.o")));
100+
const char *crt1 = nullptr;
101+
const char *crtbegin = nullptr;
102+
if (!Shared) {
103+
if (Profiling)
104+
crt1 = "gcrt1.o";
101105
else {
102-
if (Args.hasArg(options::OPT_pie))
103-
CmdArgs.push_back(
104-
Args.MakeArgString(getToolChain().GetFilePath("Scrt1.o")));
106+
if (Pie)
107+
crt1 = "Scrt1.o";
105108
else
106-
CmdArgs.push_back(
107-
Args.MakeArgString(getToolChain().GetFilePath("crt1.o")));
109+
crt1 = "crt1.o";
108110
}
109111
}
110-
CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
111-
if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_pie))
112-
CmdArgs.push_back(
113-
Args.MakeArgString(getToolChain().GetFilePath("crtbeginS.o")));
112+
113+
if (Shared || Pie)
114+
crtbegin = "crtbeginS.o";
114115
else
115-
CmdArgs.push_back(
116-
Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));
116+
crtbegin = "crtbegin.o";
117+
118+
if (crt1)
119+
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
120+
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
121+
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
117122
}
118123

119124
Args.addAllArgs(CmdArgs, {options::OPT_L, options::OPT_T_Group,
120125
options::OPT_s, options::OPT_t, options::OPT_r});
121126
ToolChain.AddFilePathLibArgs(Args, CmdArgs);
122127

123-
AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
128+
AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
124129

125130
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs,
126131
options::OPT_r)) {
127-
if (!Args.hasArg(options::OPT_static)) {
132+
if (!Static) {
128133
CmdArgs.push_back("-rpath");
129134
CmdArgs.push_back("/usr/lib/gcc80");
130135
}
131136

132137
// Use the static OpenMP runtime with -static-openmp
133-
bool StaticOpenMP = Args.hasArg(options::OPT_static_openmp) &&
134-
!Args.hasArg(options::OPT_static);
138+
bool StaticOpenMP = Args.hasArg(options::OPT_static_openmp) && !Static;
135139
addOpenMPRuntime(CmdArgs, ToolChain, Args, StaticOpenMP);
136140

137141
if (D.CCCIsCXX()) {
138-
if (getToolChain().ShouldLinkCXXStdlib(Args))
139-
getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
142+
if (ToolChain.ShouldLinkCXXStdlib(Args))
143+
ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
140144
CmdArgs.push_back("-lm");
141145
}
142146

143147
if (Args.hasArg(options::OPT_pthread))
144148
CmdArgs.push_back("-lpthread");
145149

146-
if (!Args.hasArg(options::OPT_nolibc)) {
150+
if (!Args.hasArg(options::OPT_nolibc))
147151
CmdArgs.push_back("-lc");
148-
}
149152

150-
if (Args.hasArg(options::OPT_static) ||
151-
Args.hasArg(options::OPT_static_libgcc)) {
153+
if (Static || Args.hasArg(options::OPT_static_libgcc)) {
152154
CmdArgs.push_back("-lgcc");
153155
CmdArgs.push_back("-lgcc_eh");
154156
} else {
155157
if (Args.hasArg(options::OPT_shared_libgcc)) {
156158
CmdArgs.push_back("-lgcc_pic");
157-
if (!Args.hasArg(options::OPT_shared))
159+
if (!Shared)
158160
CmdArgs.push_back("-lgcc");
159161
} else {
160162
CmdArgs.push_back("-lgcc");
@@ -167,18 +169,19 @@ void dragonfly::Linker::ConstructJob(Compilation &C, const JobAction &JA,
167169

168170
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles,
169171
options::OPT_r)) {
170-
if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_pie))
171-
CmdArgs.push_back(
172-
Args.MakeArgString(getToolChain().GetFilePath("crtendS.o")));
172+
const char *crtend = nullptr;
173+
if (Shared || Pie)
174+
crtend ="crtendS.o";
173175
else
174-
CmdArgs.push_back(
175-
Args.MakeArgString(getToolChain().GetFilePath("crtend.o")));
176-
CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
176+
crtend = "crtend.o";
177+
178+
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend)));
179+
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
177180
}
178181

179-
getToolChain().addProfileRTLibs(Args, CmdArgs);
182+
ToolChain.addProfileRTLibs(Args, CmdArgs);
180183

181-
const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
184+
const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
182185
C.addCommand(std::make_unique<Command>(JA, *this,
183186
ResponseFileSupport::AtFileCurCP(),
184187
Exec, CmdArgs, Inputs, Output));

0 commit comments

Comments
 (0)