Commit Graph

8 Commits

Author SHA1 Message Date
Teresa Johnson 3cfab4b934 Add back test for r299152
I am hoping the bot failures are addressed by using cc1 for the ThinLTO
backend invocations as well.

llvm-svn: 299217
2017-03-31 13:48:18 +00:00
Teresa Johnson adeae05f2d Revert test added in r299152
Removing the test until I can figure out how to get the ThinLTO backend
invocation of clang to use the correct target.

llvm-svn: 299181
2017-03-31 04:29:07 +00:00
Teresa Johnson 163e4992b7 Add target-cpu
Sigh, another follow-on fix needed for test in r299152 causing bot
failures. We also need the target-cpu for the ThinLTO BE clang
invocation.

llvm-svn: 299178
2017-03-31 03:49:52 +00:00
Teresa Johnson 0c835d21c0 Add more target triples to test
Third and hopefully final fix to test for r299152 that is causing bot
failures: make sure the target triple specified for the ThinLTO backend
clang invocations as well.

llvm-svn: 299176
2017-03-31 03:27:47 +00:00
Teresa Johnson fcb8989d72 Fix new compile command in test
My previous attempt to fix bot failures from r299152 didn't add the
necessary option to get bitcode out of the cc1 step.

llvm-svn: 299173
2017-03-31 02:55:31 +00:00
Teresa Johnson ae9c74280c Add triple to new test
Attempt to fix bot errors from r299152 by using clang_cc1 and specifying
target triple to compile step.

llvm-svn: 299170
2017-03-31 02:36:47 +00:00
Teresa Johnson 5ed6c10761 [ThinLTO] Set up lto::Config properly for codegen in ThinLTO backends
Summary:
This involved refactoring out pieces of
EmitAssemblyHelper::CreateTargetMachine for use in runThinLTOBackend.

Subsumes D31114.

Reviewers: mehdi_amini, pcc

Subscribers: Prazek, cfe-commits

Differential Revision: https://reviews.llvm.org/D31508

llvm-svn: 299152
2017-03-31 02:05:15 +00:00
Warren Hunt c3b18967ed [MS-ABI] Add support for #pragma section and related pragmas
This patch adds support for the msvc pragmas section, bss_seg, code_seg, 
const_seg and data_seg as well as support for __declspec(allocate()).

Additionally it corrects semantics and adds diagnostics for 
__attribute__((section())) and the interaction between the attribute 
and the msvc pragmas and declspec.  In general conflicts should now be 
well diganosed within and among these features.

In supporting the pragmas new machinery for uniform lexing for 
msvc pragmas was introduced.  The new machinery always lexes the 
entire pragma and stores it on an annotation token.  The parser 
is responsible for parsing the pragma when the handling the 
annotation token.

There is a known outstanding bug in this implementation in C mode.  
Because these attributes and pragmas apply _only_ to definitions, we 
process them at the time we detect a definition.  Due to tentative 
definitions in C, we end up processing the definition late.  This means 
that in C mode, everything that ends up in a BSS section will end up in 
the _last_ BSS section rather than the one that was live at the time of 
tentative definition, even if that turns out to be the point of actual 
definition.  This issue is not known to impact anything as of yet 
because we are not aware of a clear use or use case for #pragma bss_seg 
but should be fixed at some point.

Differential Revision=http://reviews.llvm.org/D3065#inline-16241 

llvm-svn: 205810
2014-04-08 22:30:47 +00:00