aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-18 22:32:03 +0000
committerChris Lattner <sabre@nondot.org>2003-08-18 22:32:03 +0000
commitc13115c6331178d1d351dbeb6e44c0cf93be16ff (patch)
treea37e6db2ed2145243e93922ba2d888fd6f051911 /tools
parent24f83a15dd50b923fe674a55c5f11d91f383bb01 (diff)
downloadexternal_llvm-c13115c6331178d1d351dbeb6e44c0cf93be16ff.zip
external_llvm-c13115c6331178d1d351dbeb6e44c0cf93be16ff.tar.gz
external_llvm-c13115c6331178d1d351dbeb6e44c0cf93be16ff.tar.bz2
The CBE generates code which violates the TBAA rules of C, thus we must disable
optimizations based on these rules. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7964 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/bugpoint/ExecutionDriver.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/bugpoint/ExecutionDriver.cpp b/tools/bugpoint/ExecutionDriver.cpp
index 6a62233..a9803f2 100644
--- a/tools/bugpoint/ExecutionDriver.cpp
+++ b/tools/bugpoint/ExecutionDriver.cpp
@@ -168,7 +168,13 @@ int GCC::ExecuteProgram(const std::string &ProgramFile,
if (!SharedLib.empty()) // Specify the shared library to link in...
GCCArgs.push_back(SharedLib.c_str());
GCCArgs.push_back("-x");
- GCCArgs.push_back((fileType == AsmFile) ? "assembler" : "c");
+ if (fileType == CFile) {
+ GCCArgs.push_back("c");
+ GCCArgs.push_back("-fno-strict-aliasing");
+ } else {
+ GCCArgs.push_back("assembler");
+ }
+
GCCArgs.push_back(ProgramFile.c_str()); // Specify the input filename...
GCCArgs.push_back("-o");
GCCArgs.push_back(OutputBinary.c_str()); // Output to the right file...