Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] [RFC] Removing static initializers for command line options"
2014 Aug 19
45
[LLVMdev] [RFC] Removing static initializers for command line options
> On Aug 19, 2014, at 1:32 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
>
>>> * Nobs for which there is not a single right answer for all users.
>>> There are very few of these currently and we expect it to remain like
>>> that. These should not use cl::opt or static storage at all. They
>>> should be an option passed to the
2014 Aug 18
2
[LLVMdev] [RFC] Removing static initializers for command line options
> On Aug 18, 2014, at 2:42 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
>
> On 18 August 2014 14:49, Chris Bieneman <beanz at apple.com <mailto:beanz at apple.com>> wrote:
>> Today command line arguments in LLVM are global variables. An example
>> argument from Scalarizer.cpp is:
>>
>> static cl::opt<bool> ScalarizeLoadStore
2014 Aug 18
2
[LLVMdev] [RFC] Removing static initializers for command line options
> On Aug 18, 2014, at 3:09 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
>
>> Some passes take options directly in the constructor. For example
>>
>> Inliner::Inliner(char &ID, int Threshold, bool InsertLifetime)
>>
>> Maybe we could just say that there are two different types of options.
>> The ones we want to expose to users
2014 Aug 18
2
[LLVMdev] [RFC] Removing static initializers for command line options
> On Aug 18, 2014, at 4:25 PM, Filip Pizlo <fpizlo at apple.com> wrote:
>
>
>
>> On Aug 18, 2014, at 3:21 PM, Chris Bieneman <beanz at apple.com> wrote:
>>
>>
>>>> On Aug 18, 2014, at 3:09 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
>>>>
>>>> Some passes take options directly in the
2014 Aug 20
2
[LLVMdev] LLVM CreateStructGEP type assert error
Hi all,
Running LLVM 3.4 to create a custom pass for OpenCL transformations. I am attempting to GEP into a struct using IRBuilder's CreateStructGEP, but I keep getting this assert:
aoc: ../../../../../../compiler/llvm/include/llvm/Instructions.h:703: llvm::Type* llvm::checkGEPType(llvm::Type*): Assertion `Ty && "Invalid GetElementPtrInst indices for type!"' failed.
2014 Aug 20
2
[LLVMdev] LLVM CreateStructGEP type assert error
cB->getType()->getPointerElementType()->dump();
gives:
%struct.RB = type opaque2189 x_idx = builder.CreateStructGEP(cB, 0);
cB->dump()
gives:
%struct.RB addrspace(1)* %cB
$1 = void
//To undo confusion, the last cB is the function arg name. For this example I unfortunately chose the same name for my argument Value* as the argument name.
//Also one correction. I am running
2014 Aug 20
2
[LLVMdev] LLVM CreateStructGEP type assert error
If I do M.dump(), at the top of the output I have:
%struct.RB = type opaque
Further down I have:
@.str18 = internal addrspace(2) constant [13 x i8] c"RB_t*\00"
However nowhere does it dump the full struct type when I call "M.dump()". I have it explicitly defined above the kernel in the kernel file, but LLVM doesn't seem to pick it up.
Opaque is a placeholder until it
2014 Aug 20
2
[LLVMdev] LLVM CreateStructGEP type assert error
Sure, it is the Rodinia 2.4 Hotspot benchmark OpenCL kernel (not my kernel), with the addition of my struct as the last argument in the kernel function.
//------- kernel file start -------------------------------
#define BLOCK_SIZE 16
//dlowell's type
#define BUFFER_LEN 0x100000
typedef struct RB{
unsigned int x;
unsigned int y;
int z[BUFFER_LEN];
unsigned int xx[BUFFER_LEN];
2014 Aug 19
2
[LLVMdev] [RFC] Removing static initializers for command line options
> On Aug 19, 2014, at 12:32 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
>
>> I strongly feel this is the wrong decision. If you have a single process using two LLVM clients (say WebKit and Mesa), and they both are using an opt pass with different settings. If the storage is global this will not work.
>
> That is only an issue if they can set the option at
2014 Aug 19
3
[LLVMdev] [RFC] Removing static initializers for command line options
I’d like to propose moving forward with the first phase of my proposal to make the cl::opt structures owned and eliminate global option storage. I’d also like to add to it that when updating passes I will ensure that each pass that has cl::opts also has a default constructor, an overridden constructor to populate each option, and the corresponding factory methods for the C API.
Does this sound
2014 Nov 14
6
[LLVMdev] [RFC] Embedding command line options in bitcode (PR21471)
There are parts of this proposal that I really like, and there are others that I think are actually at opposition to the work we’re trying to do with cl::opt.
> On Nov 14, 2014, at 2:44 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
>
> +chrisb
>
>> On 2014-Nov-13, at 16:33, Akira Hatanaka <ahatanak at gmail.com> wrote:
>>
>> I'm
2014 Aug 19
2
[LLVMdev] [RFC] Removing static initializers for command line options
> On Aug 19, 2014, at 11:09 AM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
>
> On 19 August 2014 13:47, Chris Bieneman <beanz at apple.com> wrote:
>> I’d like to propose moving forward with the first phase of my proposal to
>> make the cl::opt structures owned and eliminate global option storage.
>
> For now, please eliminate only the static
2014 Nov 14
7
[LLVMdev] [RFC] Embedding command line options in bitcode (PR21471)
I'm working on fixing PR21471, which is about embedding codegen command
line options into the bitcode as function or module-level attributes so
that they don't get ignored when doing LTO.
http://llvm.org/bugs/show_bug.cgi?id=21471
I have an initial patch (attached to this email) which enables clang/llvm
to recognize one command line option, write it to the IR, and read it out
in a
2014 Nov 20
2
[LLVMdev] [RFC] Embedding command line options in bitcode (PR21471)
> On Nov 19, 2014, at 6:06 PM, Chandler Carruth <chandlerc at google.com> wrote:
>
> So I am deeply concerned about the direction this is taking. I'm trying to catch up on the thread, but I think Chris already highlighted my issue:
>
> On Fri, Nov 14, 2014 at 4:57 PM, Chris Bieneman <cbieneman at apple.com <mailto:cbieneman at apple.com>> wrote:
>>>
2013 Sep 17
11
[LLVMdev] [RFC] Internal command line options should not be statically initialized.
LLVM's internal command line library needs to evolve. We have an immediate need to build LLVM as a library free of static initializers, but before brute-force fixing this problem, I'd like outline the incremental steps that will lead to a desirable long term solution. We want infrastructure in place to provide an evolutionary path.
In the near term, clients who need llvm-the-library with
2013 Nov 15
2
[LLVMdev] [PATCH] Add a Scalarize pass
Nadav Rotem <nrotem at apple.com> writes:
> On Nov 14, 2013, at 2:32 PM, Richard Sandiford
> <rsandifo at linux.vnet.ibm.com> wrote:
>> Richard Sandiford <rsandifo at linux.vnet.ibm.com> writes:
>>> Are you worried that adding it to PMB will increase compile time?
>>> The pass exits very early for any target that doesn't opt-in to doing
2013 Nov 14
2
[LLVMdev] [PATCH] Add a Scalarize pass
Richard Sandiford <rsandifo at linux.vnet.ibm.com> writes:
> Are you worried that adding it to PMB will increase compile time?
> The pass exits very early for any target that doesn't opt-in to doing
> scalarisation at the IR level, without even looking at the function.
As an alternative, adding Scalarizer and InstCombine passes to
SystemZPassConfig::addIRPasses() would probably
2013 Nov 14
0
[LLVMdev] [PATCH] Add a Scalarize pass
On Nov 14, 2013, at 2:32 PM, Richard Sandiford <rsandifo at linux.vnet.ibm.com> wrote:
> Richard Sandiford <rsandifo at linux.vnet.ibm.com> writes:
>> Are you worried that adding it to PMB will increase compile time?
>> The pass exits very early for any target that doesn't opt-in to doing
>> scalarisation at the IR level, without even looking at the function.
2013 Nov 15
0
[LLVMdev] [PATCH] Add a Scalarize pass
Hi Richard,
The discussion on llvmpipe is irrelevant. llvmpipe has its own pass manager and optimization pipe, it is not a C compiler.
Nadav
On Nov 15, 2013, at 3:26 AM, Richard Sandiford <rsandifo at linux.vnet.ibm.com> wrote:
> Nadav Rotem <nrotem at apple.com> writes:
>> On Nov 14, 2013, at 2:32 PM, Richard Sandiford
>> <rsandifo at linux.vnet.ibm.com>
2019 Jan 21
2
How to set command line option programmatically?
Hello,
i want to use the Scalarizer pass.
(http://llvm.org/doxygen/Scalarizer_8cpp_source.html). This pass exposes
the "scalarize-load-store"(default false) option on the command line.
For my use-case i want to always enable this option. How can i enable
this option programmatically?
Thank you