summaryrefslogtreecommitdiffstats
path: root/CleanSpec.mk
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2017-05-05 01:07:00 +0000
committerEmil Velikov <[email protected]>2017-05-19 23:14:24 +0100
commite0df523795e406d5ae0cbc78fc8dc64b06ebb20f (patch)
tree8c384479cbdb87e09792b6270189c1ec2e918248 /CleanSpec.mk
parent6199b3d485a1b5cd609a458f6b23e0f81c0f1baa (diff)
gallivm: Make sure module has the correct data layout when pass manager runs
The datalayout for modules was purposely not being set in order to work around the fact that the ExecutionEngine requires that the module's datalayout matches the datalayout of the TargetMachine that the ExecutionEngine is using. When the pass manager runs on a module with no datalayout, it uses the default datalayout which is little-endian. This causes problems on big-endian targets, because some optimizations that are legal on little-endian or illegal on big-endian. To resolve this, we set the datalayout prior to running the pass manager, and then clear it before creating the ExectionEngine. This patch fixes a lot of piglit tests on big-endian ppc64. Cc: [email protected] (cherry picked from commit 14e525a4d70649eb10185bebd2aef9dc339fb5e6)
Diffstat (limited to 'CleanSpec.mk')
0 files changed, 0 insertions, 0 deletions