Changed usages of legacy symbol table structures (m_funcSymbolTable) to ZEBinary structures (m_symbols).
Removed VC/LegacyInfoGeneration source files, as they're not needed after deprecating legacy relocations and symbols.
Refactored conditions based on the supportDynamicBTIsAllocation() condition, as if it was always true. It depended on ZEBinary format usage, which is always used.
In cases where we have no local casts to generics and we allocate
private memory in global space, we can replace GenericCastToPtrExplicit
with simple address space cast.
In cases where we have no local casts to generics and we allocate
private memory in global space, we can replace GenericCastToPtrExplicit
with simple address space cast.
When emitting zeinfo IGC tags addr mode of images with no users as
stateful even if the module is compiled to use bindless images. This
caused NEO to throw an error as it disallows the use of both bindless
and bindful mode in the same module.
This commit sets the default addr mode to bindless for modules that have
UseBindlessImage set to true.
1. Update the HoistConvOpToDom pass to handle more corner cases.
2. Refactor the PromoteToPredicatedMemoryAccess pass to improve its structure and readability.
3. Add new tests to improve code coverage.
Ocloc test generate_enum.ll contains a command that looks for a file
name that does not exist, because of lack of match with kernel name.
This causes verify build to fail.
This commit changes the kernel name to 'foo' to remedy this issue.
Currently constnt string literals used only by printf are recognized
as printf strings and are stored in constant buffer. But when there is
reference to that string, even unused it's no longer recognized as printf
string and it's content is stored in .global buffer. This can lead to
segfault in runtime, as when trying to use printf it will recieve GPU
pointer.
Co-authored-by: Skobejko, Milosz <milosz.skobejko@intel.com>
Adjustments to RUN lines to make tests run on LLVM 16 with both opaque
and typed pointers. By default, LLVM 16 tools emit opaque pointers,
while IGC pointer typing can be controlled with a flag. This change
ensures the typing is enabled/disabled explicitly.
Adjustments to RUN lines to make tests run on LLVM 16 with both opaque
and typed pointers. By default, LLVM 16 tools emit opaque pointers,
while IGC pointer typing can be controlled with a flag. This change
ensures the typing is enabled/disabled explicitly.
Collected users of the instruction into a vector before updating them to prevent an endless loop when an instruction is used both in the condition and value of a select instruction.
Previously, some workloads used implicit int types in function
definitions. With LLVM 15, implicit ints are treated as errors.
The workaround to disable this error has now been removed, so IGC
enforces the same behavior as LLVM 15 and treats implicit ints
as errors.
Revert of 'Removed definitions of old relocation table types (m_funcRelocationTable).
Changed usages of relocation tables to use the ZEBinary type
(m_relocs).'
Previously, some workloads used implicit int types in function
definitions. With LLVM 15, implicit ints are treated as errors.
The workaround to disable this error has now been removed, so IGC
enforces the same behavior as LLVM 15 and treats implicit ints
as errors.